diff --git a/dev/tests/functional/composer.json b/dev/tests/functional/composer.json
index 0cd1467c6a917..7b5d70371961b 100644
--- a/dev/tests/functional/composer.json
+++ b/dev/tests/functional/composer.json
@@ -1,6 +1,6 @@
{
"require": {
- "magento/mtf": "1.0.0-rc14",
+ "magento/mtf": "1.0.0-rc15",
"php": ">=5.4.0",
"phpunit/phpunit": "4.1.0",
"phpunit/phpunit-selenium": ">=1.2",
diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/ConditionsElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/ConditionsElement.php
index ea8d59e184ec1..8b04e6bd56c84 100644
--- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/ConditionsElement.php
+++ b/dev/tests/functional/lib/Magento/Mtf/Client/Element/ConditionsElement.php
@@ -192,8 +192,12 @@ public function setValue($value)
protected function addConditionsCombination($condition, ElementInterface $context)
{
$condition = $this->parseCondition($condition);
+
+ $this->driver->selectWindow();
$newCondition = $context->find($this->newCondition, Locator::SELECTOR_XPATH);
$newCondition->find($this->addNew, Locator::SELECTOR_XPATH)->click();
+
+ $this->driver->selectWindow();
$typeNewCondition = $newCondition->find($this->typeNew, Locator::SELECTOR_XPATH, 'select');
$typeNewCondition->setValue($condition['type']);
@@ -235,16 +239,23 @@ protected function addSingleCondition($condition, ElementInterface $context)
{
$condition = $this->parseCondition($condition);
+ $this->driver->selectWindow();
$newCondition = $context->find($this->newCondition, Locator::SELECTOR_XPATH);
$newCondition->find($this->addNew, Locator::SELECTOR_XPATH)->click();
+
$typeNew = $this->typeNew;
$newCondition->waitUntil(
function () use ($newCondition, $typeNew) {
$element = $newCondition->find($typeNew, Locator::SELECTOR_XPATH, 'select');
- return $element->isVisible() ? true : null;
+ if ($element->isVisible()) {
+ return true;
+ }
+ $this->driver->selectWindow();
+ return null;
}
);
$newCondition->find($this->typeNew, Locator::SELECTOR_XPATH, 'select')->setValue($condition['type']);
+
$createdCondition = $context->find($this->created, Locator::SELECTOR_XPATH);
$this->waitForCondition($createdCondition);
$this->fillCondition($condition['rules'], $createdCondition);
@@ -264,6 +275,8 @@ protected function fillCondition(array $rules, ElementInterface $element)
foreach ($rules as $rule) {
/** @var ElementInterface $param */
$param = $this->findNextParam($element);
+
+ $this->driver->selectWindow();
$param->find('a')->click();
if (preg_match('`%(.*?)%`', $rule, $chooserGrid)) {
@@ -392,7 +405,11 @@ protected function waitForCondition(ElementInterface $element)
{
$this->waitUntil(
function () use ($element) {
- return $element->getAttribute('class') == 'rule-param-wait' ? null : true;
+ if ($element->getAttribute('class') == 'rule-param-wait') {
+ $this->driver->selectWindow();
+ return null;
+ }
+ return true;
}
);
}
diff --git a/dev/tests/functional/lib/Magento/Mtf/ObjectManagerFactory.php b/dev/tests/functional/lib/Magento/Mtf/ObjectManagerFactory.php
index 9811a2e9f844b..be383436370bb 100644
--- a/dev/tests/functional/lib/Magento/Mtf/ObjectManagerFactory.php
+++ b/dev/tests/functional/lib/Magento/Mtf/ObjectManagerFactory.php
@@ -52,6 +52,7 @@ public function create(array $sharedInstances = [])
$argInterpreter = $this->createArgumentInterpreter(new BooleanUtils());
$argumentMapper = new \Magento\Mtf\ObjectManager\Config\Mapper\Dom($argInterpreter);
+ $sharedInstances['Magento\Mtf\Data\Argument\InterpreterInterface'] = $argInterpreter;
$sharedInstances['Magento\Mtf\ObjectManager\Config\Mapper\Dom'] = $argumentMapper;
$objectManager = new $this->locatorClassName($factory, $diConfig, $sharedInstances);
diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/FieldsProvider.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/FieldsProvider.php
index fa8923f4ba015..29a4672888028 100644
--- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/FieldsProvider.php
+++ b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/FieldsProvider.php
@@ -11,7 +11,6 @@
/**
* Class FieldsProvider
- *
*/
class FieldsProvider implements FieldsProviderInterface
{
@@ -25,6 +24,13 @@ class FieldsProvider implements FieldsProviderInterface
*/
protected $resource;
+ /**
+ * Magento connection.
+ *
+ * @var \Magento\Framework\DB\Adapter\AdapterInterface
+ */
+ protected $connection;
+
/**
* @constructor
* @param \Magento\Framework\ObjectManagerInterface $objectManager
@@ -35,6 +41,22 @@ public function __construct(ObjectManagerInterface $objectManager)
$this->resource = $objectManager->create('Magento\Framework\App\Resource');
}
+ /**
+ * Check connection to DB.
+ *
+ * @return bool
+ */
+ public function checkConnection()
+ {
+ $this->connection = $this->getConnection('core_write');
+ 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
*
@@ -105,8 +127,7 @@ protected function flatCollectFields(array $fixture)
$entityType = $fixture['entity_type'];
/** @var $connection \Magento\Framework\DB\Adapter\AdapterInterface */
- $connection = $this->resource->getConnection('core_write');
- $fields = $connection->describeTable($entityType);
+ $fields = $this->connection->describeTable($entityType);
$attributes = [];
foreach ($fields as $code => $field) {
@@ -132,11 +153,9 @@ protected function compositeCollectFields(array $fixture)
{
$entityTypes = $fixture['entities'];
- /** @var $connection \Magento\Framework\DB\Adapter\AdapterInterface */
- $connection = $this->resource->getConnection('core_write');
$fields = [];
foreach ($entityTypes as $entityType) {
- $fields = array_merge($fields, $connection->describeTable($entityType));
+ $fields = array_merge($fields, $this->connection->describeTable($entityType));
}
$attributes = [];
@@ -152,4 +171,21 @@ protected function compositeCollectFields(array $fixture)
return $attributes;
}
+
+ /**
+ * Retrieve connection to resource specified by $resourceName.
+ *
+ * @param string $resourceName
+ * @return \Exception|false|\Magento\Framework\DB\Adapter\AdapterInterface|\Zend_Exception
+ */
+ protected function getConnection($resourceName)
+ {
+ try {
+ $connection = $this->resource->getConnection($resourceName);
+ return $connection;
+ } catch (\Zend_Exception $e) {
+ echo $e->getMessage() . PHP_EOL;
+ return $e;
+ }
+ }
}
diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/CollectionProvider.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/CollectionProvider.php
index a02df91cb8a3d..68909363bfb9c 100644
--- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/CollectionProvider.php
+++ b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/CollectionProvider.php
@@ -19,6 +19,13 @@ class CollectionProvider implements CollectionProviderInterface
*/
protected $objectManager;
+ /**
+ * Magetno resource instance.
+ *
+ * @var \Magento\Framework\App\Resource
+ */
+ protected $resource;
+
/**
* @constructor
* @param \Magento\Framework\ObjectManagerInterface $objectManager
@@ -26,6 +33,23 @@ class CollectionProvider implements CollectionProviderInterface
public function __construct(ObjectManagerInterface $objectManager)
{
$this->objectManager = $objectManager;
+ $this->resource = $objectManager->create('Magento\Framework\App\Resource');
+ }
+
+ /**
+ * Check connection to DB.
+ *
+ * @return bool
+ */
+ public function checkConnection()
+ {
+ $connection = $this->getConnection('read');
+ if (!$connection || $connection instanceof \Zend_Db_Adapter_Exception) {
+ echo ('Connection to Magento 2 database is absent. Repository data has not been fetched.' . PHP_EOL);
+ return false;
+ }
+
+ return true;
}
/**
@@ -107,4 +131,21 @@ protected function eavCollection(array $fixture)
return $collection->getItems();
}
+
+ /**
+ * Retrieve connection to resource specified by $resourceName.
+ *
+ * @param string $resourceName
+ * @return \Exception|false|\Magento\Framework\DB\Adapter\AdapterInterface|\Zend_Exception
+ */
+ protected function getConnection($resourceName)
+ {
+ try {
+ $connection = $this->resource->getConnection($resourceName);
+ return $connection;
+ } catch (\Zend_Exception $e) {
+ echo $e->getMessage() . PHP_EOL;
+ return $e;
+ }
+ }
}
diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlInterface.php b/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlInterface.php
index 63a53a84e1ca8..b1a76200bb08a 100644
--- a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlInterface.php
+++ b/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlInterface.php
@@ -1,6 +1,5 @@
-
+
+
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
index 23cd977b4c224..c1a645760bb36 100644
--- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Menu.php
+++ b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Menu.php
@@ -1,6 +1,5 @@
$value) {
$attributes = $fixture->getDataFieldConfig($field);
$attributes['value'] = $value;
- if (array_key_exists('group', $attributes) && $attributes['group'] !== null) {
+ if (array_key_exists('group', $attributes) && $attributes['group'] != 'null') {
$tabs[$attributes['group']][$field] = $attributes;
} elseif (!array_key_exists('group', $attributes)) {
$this->unassignedFields[$field] = $attributes;
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
index 3843da95b7b0a..6c3e11540c9dd 100644
--- 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
@@ -455,6 +455,8 @@ public function sortGridByField($field, $sort = "desc")
*/
protected function openFilterBlock()
{
+ $this->getTemplateBlock()->waitForElementNotVisible($this->loader);
+
$button = $this->_rootElement->find($this->filterButton);
if ($button->isVisible() && !$this->_rootElement->find($this->filterButton . $this->active)->isVisible()) {
$button->click();
diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.php
deleted file mode 100644
index d4f4890694a21..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.php
+++ /dev/null
@@ -1,31 +0,0 @@
- 'catalogProductSimple::default::name',
- ];
-
- protected $query = [
- 'attribute_code' => 'query',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Backend\Test\Fixture\GlobalSearch\Query',
- ];
-
- public function getQuery()
- {
- return $this->getData('query');
- }
-}
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
index 90d1a9d6857c8..b42876f1a7815 100644
--- a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.xml
+++ b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.xml
@@ -5,13 +5,18 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Backend
+
+ catalogProductSimple::default::name
+
-
+
query
virtual
- Magento\Backend\Test\Fixture\Search\Query
-
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Date.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Source/Date.php
similarity index 97%
rename from dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Date.php
rename to dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Source/Date.php
index 12c06f560e703..2b5d6e994d403 100644
--- a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Date.php
+++ b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Source/Date.php
@@ -4,7 +4,7 @@
* See COPYING.txt for license details.
*/
-namespace Magento\Backend\Test\Fixture;
+namespace Magento\Backend\Test\Fixture\Source;
use Magento\Mtf\Fixture\FixtureInterface;
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
index 9ffe8a5665bf9..8f587670f2810 100644
--- 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
@@ -1,6 +1,5 @@
+
+
+
+
+ Store 1
+ 1234-123-123
+ US
+ 12
+ 90322
+ Culver City
+ 10441 Jefferson Blvd
+ Suite 200
+
+
+
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
index af5173612c1aa..ee0bef81cc505 100644
--- 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
@@ -1,6 +1,5 @@
data['url_key']) && isset($this->data['name'])) {
- $this->data['url_key'] = trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $this->data['name'])), '-');
- }
- }
-
- protected $dataConfig = [
- 'type_id' => 'bundle',
- 'create_url_params' => [
- 'type' => 'bundle',
- 'set' => '4',
- ],
- 'input_prefix' => 'product',
- ];
-
- protected $defaultDataSet = [
- 'name' => 'BundleProduct %isolation%',
- 'sku_type' => 'Dynamic',
- 'price_type' => 'Dynamic',
- 'weight_type' => 'Dynamic',
- ];
-
- protected $category_ids = [
- 'attribute_code' => 'category_ids',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CategoryIds',
- ];
-
- protected $country_of_manufacture = [
- 'attribute_code' => 'country_of_manufacture',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $custom_design = [
- 'attribute_code' => 'custom_design',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $custom_design_from = [
- 'attribute_code' => 'custom_design_from',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_design_to = [
- 'attribute_code' => 'custom_design_to',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_layout_update = [
- 'attribute_code' => 'custom_layout_update',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $description = [
- 'attribute_code' => 'description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- 'group' => 'product-details',
- ];
-
- protected $enable_googlecheckout = [
- 'attribute_code' => 'enable_googlecheckout',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '1',
- 'input' => 'select',
- ];
-
- protected $gallery = [
- 'attribute_code' => 'gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $gift_message_available = [
- 'attribute_code' => 'gift_message_available',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'autosettings',
- ];
-
- protected $use_config_gift_message_available = [
- 'attribute_code' => 'use_config_gift_message_available',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'checkbox',
- 'group' => 'autosettings',
- ];
-
- protected $group_price = [
- 'attribute_code' => 'group_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\GroupPriceOptions',
- ];
-
- protected $has_options = [
- 'attribute_code' => 'has_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $image = [
- 'attribute_code' => 'image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $image_label = [
- 'attribute_code' => 'image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $media_gallery = [
- 'attribute_code' => 'media_gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $meta_description = [
- 'attribute_code' => 'meta_description',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $meta_keyword = [
- 'attribute_code' => 'meta_keyword',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $meta_title = [
- 'attribute_code' => 'meta_title',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $minimal_price = [
- 'attribute_code' => 'minimal_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp = [
- 'attribute_code' => 'msrp',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp_display_actual_price_type = [
- 'attribute_code' => 'msrp_display_actual_price_type',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '4',
- 'input' => 'select',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $news_from_date = [
- 'attribute_code' => 'news_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $news_to_date = [
- 'attribute_code' => 'news_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $old_id = [
- 'attribute_code' => 'old_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $options_container = [
- 'attribute_code' => 'options_container',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => 'container2',
- 'input' => 'select',
- ];
-
- protected $page_layout = [
- 'attribute_code' => 'page_layout',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $price = [
- 'attribute_code' => 'price',
- 'backend_type' => 'decimal',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'price',
- 'source' => 'Magento\Bundle\Test\Fixture\BundleProduct\Price',
- 'group' => 'product-details',
- ];
-
- protected $price_from = [
- 'attribute_code' => 'price_from',
- 'backend_type' => 'decimal',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'product-details',
- ];
-
- protected $price_to = [
- 'attribute_code' => 'price_to',
- 'backend_type' => 'decimal',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'product-details',
- ];
-
- protected $price_type = [
- 'attribute_code' => 'price_type',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'product-details',
- ];
-
- protected $status = [
- 'attribute_code' => 'status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '1',
- 'input' => 'checkbox',
- 'group' => 'product-details',
- ];
-
- protected $price_view = [
- 'attribute_code' => 'price_view',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'advanced-pricing',
- ];
-
- protected $quantity_and_stock_status = [
- 'attribute_code' => 'quantity_and_stock_status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '1',
- 'input' => 'select',
- 'group' => 'product-details',
- ];
-
- protected $required_options = [
- 'attribute_code' => 'required_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $use_config_manage_stock = [
- 'attribute_code' => 'use_config_manage_stock',
- 'input' => 'checkbox',
- 'group' => 'advanced-inventory',
- ];
-
- protected $manage_stock = [
- 'attribute_code' => 'manage_stock',
- 'input' => 'select',
- 'group' => 'advanced-inventory',
- ];
-
- protected $shipment_type = [
- 'attribute_code' => 'shipment_type',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'product-details',
- ];
-
- protected $short_description = [
- 'attribute_code' => 'short_description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- 'group' => 'autosettings',
- ];
-
- protected $sku = [
- 'attribute_code' => 'sku',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $sku_type = [
- 'attribute_code' => 'sku_type',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'product-details',
- ];
-
- protected $weight_type = [
- 'attribute_code' => 'weight_type',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'product-details',
- ];
-
- protected $weight = [
- 'attribute_code' => 'weight',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $small_image = [
- 'attribute_code' => 'small_image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $small_image_label = [
- 'attribute_code' => 'small_image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $special_price = [
- 'attribute_code' => 'special_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'advanced-pricing',
- ];
-
- protected $special_from_date = [
- 'attribute_code' => 'special_from_date',
- 'backend_type' => 'data',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Backend\Test\Fixture\Date',
- ];
-
- protected $special_to_date = [
- 'attribute_code' => 'special_to_date',
- 'backend_type' => 'data',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Backend\Test\Fixture\Date',
- ];
-
- protected $tax_class_id = [
- 'attribute_code' => 'tax_class_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Taxable Goods',
- 'input' => 'select',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TaxClass',
- ];
-
- protected $thumbnail = [
- 'attribute_code' => 'thumbnail',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $thumbnail_label = [
- 'attribute_code' => 'thumbnail_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $tier_price = [
- 'attribute_code' => 'tier_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TierPriceOptions',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $url_key = [
- 'attribute_code' => 'url_key',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'search-engine-optimization',
- ];
-
- protected $url_path = [
- 'attribute_code' => 'url_path',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $visibility = [
- 'attribute_code' => 'visibility',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '4',
- 'input' => 'select',
- 'group' => 'autosettings',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- ];
-
- protected $bundle_selections = [
- 'attribute_code' => 'bundle_selections',
- 'backend_type' => 'virtual',
- 'is_required' => '1',
- 'group' => 'bundle',
- 'source' => 'Magento\Bundle\Test\Fixture\BundleProduct\BundleSelections',
- ];
-
- protected $checkout_data = [
- 'attribute_code' => 'checkout_data',
- 'backend_type' => 'virtual',
- 'is_required' => '1',
- 'group' => null,
- 'source' => 'Magento\Bundle\Test\Fixture\BundleProduct\CheckoutData',
- ];
-
- protected $custom_options = [
- 'attribute_code' => 'custom_options',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'group' => 'customer-options',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CustomOptions',
- ];
-
- protected $type_id = [
- 'attribute_code' => 'type_id',
- 'backend_type' => 'virtual',
- ];
-
- protected $new_variations_attribute_set_id = [
- 'attribute_code' => 'new_variations_attribute_set_id',
- ];
-
- protected $affect_bundle_product_selection = [
- 'attribute_code' => 'affect_bundle_product_selection',
- ];
-
- protected $stock_data = [
- 'attribute_code' => 'stock_data',
- 'group' => 'advanced-inventory',
- ];
-
- protected $category_id = [
- 'attribute_code' => 'category_id',
- 'group' => 'product-details',
- ];
-
- protected $website_ids = [
- 'attribute_code' => 'website_ids',
- 'backend_type' => 'virtual',
- 'default_value' => ['Main Website'],
- 'group' => 'websites',
- ];
-
- public function getCategoryIds()
- {
- return $this->getData('category_ids');
- }
-
- public function getCountryOfManufacture()
- {
- return $this->getData('country_of_manufacture');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getCustomDesign()
- {
- return $this->getData('custom_design');
- }
-
- public function getCustomDesignFrom()
- {
- return $this->getData('custom_design_from');
- }
-
- public function getCustomDesignTo()
- {
- return $this->getData('custom_design_to');
- }
-
- public function getCustomLayoutUpdate()
- {
- return $this->getData('custom_layout_update');
- }
-
- public function getDescription()
- {
- return $this->getData('description');
- }
-
- public function getEnableGooglecheckout()
- {
- return $this->getData('enable_googlecheckout');
- }
-
- public function getGallery()
- {
- return $this->getData('gallery');
- }
-
- public function getGiftMessageAvailable()
- {
- return $this->getData('gift_message_available');
- }
-
- public function getGroupPrice()
- {
- return $this->getData('group_price');
- }
-
- public function getHasOptions()
- {
- return $this->getData('has_options');
- }
-
- public function getImage()
- {
- return $this->getData('image');
- }
-
- public function getImageLabel()
- {
- return $this->getData('image_label');
- }
-
- public function getMediaGallery()
- {
- return $this->getData('media_gallery');
- }
-
- public function getMetaDescription()
- {
- return $this->getData('meta_description');
- }
-
- public function getMetaKeyword()
- {
- return $this->getData('meta_keyword');
- }
-
- public function getMetaTitle()
- {
- return $this->getData('meta_title');
- }
-
- public function getMinimalPrice()
- {
- return $this->getData('minimal_price');
- }
-
- public function getMsrp()
- {
- return $this->getData('msrp');
- }
-
- public function getMsrpDisplayActualPriceType()
- {
- return $this->getData('msrp_display_actual_price_type');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getNewsFromDate()
- {
- return $this->getData('news_from_date');
- }
-
- public function getNewsToDate()
- {
- return $this->getData('news_to_date');
- }
-
- public function getOldId()
- {
- return $this->getData('old_id');
- }
-
- public function getOptionsContainer()
- {
- return $this->getData('options_container');
- }
-
- public function getPageLayout()
- {
- return $this->getData('page_layout');
- }
-
- public function getPrice()
- {
- return $this->getData('price');
- }
-
- public function getPriceFrom()
- {
- return $this->getData('price_from');
- }
-
- public function getPriceTo()
- {
- return $this->getData('price_to');
- }
-
- public function getPriceType()
- {
- return $this->getData('price_type');
- }
-
- public function getPriceView()
- {
- return $this->getData('price_view');
- }
-
- public function getQuantityAndStockStatus()
- {
- return $this->getData('quantity_and_stock_status');
- }
-
- public function getRequiredOptions()
- {
- return $this->getData('required_options');
- }
-
- public function getShipmentType()
- {
- return $this->getData('shipment_type');
- }
-
- public function getShortDescription()
- {
- return $this->getData('short_description');
- }
-
- public function getSku()
- {
- return $this->getData('sku');
- }
-
- public function getSkuType()
- {
- return $this->getData('sku_type');
- }
-
- public function getSmallImage()
- {
- return $this->getData('small_image');
- }
-
- public function getSmallImageLabel()
- {
- return $this->getData('small_image_label');
- }
-
- public function getSpecialFromDate()
- {
- return $this->getData('special_from_date');
- }
-
- public function getSpecialPrice()
- {
- return $this->getData('special_price');
- }
-
- public function getSpecialToDate()
- {
- return $this->getData('special_to_date');
- }
-
- public function getStatus()
- {
- return $this->getData('status');
- }
-
- public function getTaxClassId()
- {
- return $this->getData('tax_class_id');
- }
-
- public function getThumbnail()
- {
- return $this->getData('thumbnail');
- }
-
- public function getThumbnailLabel()
- {
- return $this->getData('thumbnail_label');
- }
-
- public function getTierPrice()
- {
- return $this->getData('tier_price');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-
- public function getUrlKey()
- {
- return $this->getData('url_key');
- }
-
- public function getUrlPath()
- {
- return $this->getData('url_path');
- }
-
- public function getVisibility()
- {
- return $this->getData('visibility');
- }
-
- public function getWeight()
- {
- return $this->getData('weight');
- }
-
- public function getWeightType()
- {
- return $this->getData('weight_type');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getBundleSelections()
- {
- return $this->getData('bundle_selections');
- }
-
- public function getCheckoutData()
- {
- return $this->getData('checkout_data');
- }
-
- public function getCustomOptions()
- {
- return $this->getData('custom_options');
- }
-
- public function getTypeId()
- {
- return $this->getData('type_id');
- }
-}
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
index 514783f22a070..5e88525da9742 100644
--- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct.xml
+++ b/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct.xml
@@ -5,445 +5,510 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Bundle
eav
catalog_product
bundle
Magento\Catalog\Model\Resource\Product\Collection
sku
+ Magento\Bundle\Test\Repository\BundleProduct
+ Magento\Bundle\Test\Handler\BundleProduct\BundleProductInterface
+
+ BundleProduct %isolation%
+ Dynamic
+ Dynamic
+ Dynamic
+
+
+ - bundle
+ -
+
- bundle
+ - 4
+
+ - product
+
-
+
category_ids
static
0
-
+
text
-
-
+ product-details
+
+
+
country_of_manufacture
varchar
0
-
+
select
-
-
+
+
created_at
static
1
-
+
text
-
-
+
+
custom_design
varchar
0
-
+
select
-
-
+
+
custom_design_from
datetime
0
-
+
date
-
-
+
+
custom_design_to
datetime
0
-
+
date
-
-
+
+
custom_layout_update
text
0
-
+
textarea
-
-
+
+
description
text
0
-
+
textarea
-
-
+ product-details
+
+
enable_googlecheckout
int
0
- 1
+
select
-
-
+
+
gallery
varchar
0
-
+
gallery
-
-
+
+
gift_message_available
varchar
0
-
+
select
-
-
+ autosettings
+
+
+ use_config_gift_message_available
+ varchar
+ 0
+
+ checkbox
+ autosettings
+
+
group_price
decimal
0
-
+
text
advanced-pricing
-
-
+
+
has_options
static
0
-
+
text
-
-
+
+
image
varchar
0
-
+
media_image
-
-
+
+
image_label
varchar
0
-
+
text
-
-
+
+
media_gallery
varchar
0
-
+
gallery
-
-
+
+
meta_description
varchar
0
-
+
textarea
-
-
+
+
meta_keyword
text
0
-
+
textarea
-
-
+
+
meta_title
varchar
0
-
+
text
-
-
+
+
minimal_price
decimal
0
-
+
price
-
-
+
+
msrp
decimal
0
-
+
price
-
-
+
+
msrp_display_actual_price_type
varchar
0
- 4
+
select
-
-
+
+
name
varchar
1
-
+ BundleProduct %isolation%
text
-
-
+ product-details
+
+
news_from_date
datetime
0
-
+
date
-
-
+
+
news_to_date
datetime
0
-
+
date
-
-
+
+
old_id
int
0
-
+
text
-
-
+
+
options_container
varchar
0
- container2
+
select
-
-
+
+
page_layout
varchar
0
-
+
select
-
-
+
+
price
decimal
1
-
+
price
-
-
+ product-details
+
+
+ price_from
+ decimal
+ 1
+
+ price
+ product-details
+
+
+ price_to
+ decimal
+ 1
+
+ price
+ product-details
+
+
price_type
int
1
-
-
-
-
+ Dynamic
+ select
+ product-details
+
+
+ status
+ int
+ 0
+ checkbox
+ product-details
+
+
price_view
int
1
-
+
select
-
-
+ advanced-pricing
+
+
quantity_and_stock_status
int
0
- 1
select
-
-
+ product-details
+
+
required_options
static
0
-
+
text
-
-
+
+
+ use_config_manage_stock
+ checkbox
+ advanced-inventory
+
+
+ manage_stock
+ select
+ advanced-inventory
+
+
shipment_type
int
1
-
-
-
-
+
+ select
+ product-details
+
+
short_description
text
0
-
+
textarea
-
-
+ autosettings
+
+
sku
static
1
-
+
text
-
-
+ product-details
+
+
sku_type
int
1
-
-
-
-
+ Dynamic
+ select
+ product-details
+
+
+ weight_type
+ int
+ 1
+ Dynamic
+ select
+ product-details
+
+
+ weight
+ decimal
+ 0
+
+ text
+ product-details
+
+
small_image
varchar
0
-
+
media_image
-
-
+
+
small_image_label
varchar
0
-
+
text
-
-
+
+
special_price
decimal
0
-
+
price
advanced-pricing
-
-
+
+
special_from_date
- decimal
+ data
0
-
+
price
advanced-pricing
-
-
-
+
+
+
special_to_date
- decimal
+ data
0
-
+
price
advanced-pricing
-
-
-
- status
- int
- 0
- Product online
- checkbox
- product-details
-
-
+
+
+
tax_class_id
int
0
- Taxable Goods
-
select
product-details
-
-
+
+
+
thumbnail
varchar
0
-
+
media_image
-
-
+
+
thumbnail_label
varchar
0
-
+
text
-
-
+
+
tier_price
decimal
0
-
+
text
-
-
+ advanced-pricing
+
+
+
updated_at
static
1
-
+
text
-
-
+
+
url_key
varchar
0
-
+
text
search-engine-optimization
-
-
+
+
url_path
varchar
0
-
+
text
-
-
+
+
visibility
int
0
- 4
select
-
-
- weight
- decimal
- 0
-
- weight
-
-
- weight_type
- int
- 1
-
-
-
-
+ autosettings
+
+
id
virtual
-
-
+
+
bundle_selections
virtual
1
bundle
- Magento\Bundle\Test\Fixture\Bundle\BundleSelections
-
-
+
+
+
checkout_data
virtual
-
- Magento\Bundle\Test\Fixture\BundleProduct\CheckoutData
-
-
+ 1
+ null
+
+
+
custom_options
virtual
- customer-options
0
+ customer-options
-
-
+
+
type_id
virtual
-
+
+
+ new_variations_attribute_set_id
+
+
+ affect_bundle_product_selection
+
+
+ stock_data
+ advanced-inventory
+
+
+ category_id
+ product-details
+
+
+ website_ids
+ virtual
+ websites
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bundle
- 4
-
- product
-
- Magento\Bundle\Test\Repository\BundleProduct
- Magento\Bundle\Test\Handler\BundleProduct\BundleProductInterface
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
index b3d46087acd1b..0529e48c6c948 100644
--- 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
@@ -148,7 +148,7 @@ protected function getPreset($name)
'products' => [
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product',
+ 'catalogProductSimple::product_100_dollar',
],
],
],
@@ -185,7 +185,7 @@ protected function getPreset($name)
'products' => [
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product',
+ 'catalogProductSimple::product_100_dollar',
],
],
],
@@ -222,7 +222,7 @@ protected function getPreset($name)
'products' => [
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product',
+ 'catalogProductSimple::product_100_dollar',
],
],
],
@@ -340,19 +340,19 @@ protected function getPreset($name)
'products' => [
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product',
+ 'catalogProductSimple::product_100_dollar',
],
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product'
+ 'catalogProductSimple::product_100_dollar'
],
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product'
+ 'catalogProductSimple::product_100_dollar'
],
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product'
+ 'catalogProductSimple::product_100_dollar'
],
],
],
@@ -454,19 +454,19 @@ protected function getPreset($name)
'products' => [
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product',
+ 'catalogProductSimple::product_100_dollar',
],
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product'
+ 'catalogProductSimple::product_100_dollar'
],
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product'
+ 'catalogProductSimple::product_100_dollar'
],
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product'
+ 'catalogProductSimple::product_100_dollar'
],
],
],
@@ -530,11 +530,11 @@ protected function getPreset($name)
'products' => [
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product',
+ 'catalogProductSimple::product_100_dollar',
],
[
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product'
+ 'catalogProductSimple::product_100_dollar'
],
],
],
diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct/CheckoutData.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct/CheckoutData.php
index c15fa450e151e..055c7f80488c3 100644
--- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct/CheckoutData.php
+++ b/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct/CheckoutData.php
@@ -33,7 +33,7 @@ protected function getPreset($name)
'title' => 'Drop-down Option',
'type' => 'Drop-down',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
],
],
],
@@ -46,7 +46,7 @@ protected function getPreset($name)
'title' => 'Drop-down Option',
'type' => 'Drop-down',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
],
],
],
@@ -65,7 +65,7 @@ protected function getPreset($name)
'title' => 'Drop-down Option',
'type' => 'Drop-down',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
],
],
],
@@ -103,14 +103,14 @@ protected function getPreset($name)
'title' => 'Drop-down Option',
'type' => 'Drop-down',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
],
],
[
'title' => 'Radio Button Option',
'type' => 'Radio Buttons',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
]
],
],
@@ -123,7 +123,7 @@ protected function getPreset($name)
'title' => 'Drop-down Option',
'type' => 'Drop-down',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
],
],
],
@@ -166,11 +166,11 @@ protected function getPreset($name)
],
[
'title' => 'attribute_key_10',
- 'value' => '12/12/2014',
+ 'value' => '12/12/2015',
],
[
'title' => 'attribute_key_11',
- 'value' => '12/12/2014/12/30/AM',
+ 'value' => '12/12/2015/12/30/AM',
],
[
'title' => 'attribute_key_12',
@@ -186,7 +186,7 @@ protected function getPreset($name)
'title' => 'Drop-down Option',
'type' => 'Drop-down',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
],
],
],
@@ -205,28 +205,28 @@ protected function getPreset($name)
'title' => 'Drop-down Option',
'type' => 'Drop-down',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
],
],
[
'title' => 'Radio Button Option',
'type' => 'Radio Buttons',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
]
],
[
'title' => 'Checkbox Option',
'type' => 'Checkbox',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
]
],
[
'title' => 'Multiple Select Option',
'type' => 'Multiple',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
]
],
],
@@ -257,11 +257,11 @@ protected function getPreset($name)
],
[
'title' => 'attribute_key_7',
- 'value' => '12/12/2014',
+ 'value' => '12/12/2015',
],
[
'title' => 'attribute_key_8',
- 'value' => '12/12/2014/12/30/AM',
+ 'value' => '12/12/2015/12/30/AM',
],
[
'title' => 'attribute_key_9',
@@ -277,28 +277,28 @@ protected function getPreset($name)
'title' => 'Drop-down Option',
'type' => 'Drop-down',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
],
],
[
'title' => 'Radio Button Option',
'type' => 'Radio Buttons',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
]
],
[
'title' => 'Checkbox Option',
'type' => 'Checkbox',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
]
],
[
'title' => 'Multiple Select Option',
'type' => 'Multiple',
'value' => [
- 'name' => '100_dollar_product',
+ 'name' => 'product_100_dollar',
]
],
],
diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/Curl/CreateBundle.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/Curl/CreateBundle.php
index 31abf5c15478c..7afa0f40e967f 100644
--- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/Curl/CreateBundle.php
+++ b/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/Curl/CreateBundle.php
@@ -1,6 +1,5 @@
_data['BundleDynamic_sku_1073507449'] = [
- 'sku' => 'BundleDynamic_sku_10735074493',
- 'name' => 'BundleDynamic 1073507449',
- 'price' => [
- 'price_from' => 1,
- 'price_to' => 2,
- ],
- 'short_description' => '',
- 'description' => '',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'sku_type' => '0',
- 'price_type' => '0',
- 'weight_type' => '0',
- 'status' => 'Product online',
- 'shipment_type' => '1',
- 'mtf_dataset_name' => 'BundleDynamic_sku_1073507449',
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['BundleDynamic_sku_215249172'] = [
- 'sku' => 'BundleDynamic_sku_215249172',
- 'name' => 'BundleDynamic 215249172',
- 'price' => [
- 'price_from' => 3,
- 'price_to' => 4,
- ],
- 'short_description' => '',
- 'description' => '',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'sku_type' => '0',
- 'weight_type' => '0',
- 'price_type' => '0',
- 'shipment_type' => '1',
- 'mtf_dataset_name' => 'BundleDynamic_sku_215249172',
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['bundle_dynamic_product'] = [
- 'name' => 'Bundle dynamic product %isolation%',
- 'sku' => 'sku_bundle_dynamic_product_%isolation%',
- 'sku_type' => 'Dynamic',
- 'price_type' => 'Dynamic',
- 'price' => ['value' => '-', 'preset' => 'default_dynamic'],
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight_type' => 'Dynamic',
- 'shipment_type' => 'Separately',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'stock_data' => [
- 'manage_stock' => 'Yes',
- 'use_config_enable_qty_increments' => 'Yes',
- 'use_config_qty_increments' => 'Yes',
- 'is_in_stock' => 'In Stock',
- ],
- 'url_key' => 'bundle-dynamic-product-%isolation%',
- 'visibility' => 'Catalog, Search',
- 'bundle_selections' => ['preset' => 'default_dynamic'],
- 'attribute_set_id' => 'Default',
- 'checkout_data' => ['preset' => 'default_dynamic'],
- ];
-
- $this->_data['bundle_fixed_product'] = [
- 'name' => 'Bundle fixed product %isolation%',
- 'sku' => 'sku_bundle_fixed_product_%isolation%',
- 'sku_type' => 'Fixed',
- 'price_type' => 'Fixed',
- 'price' => ['value' => 750.00, 'preset' => 'default_fixed'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 1.0000,
- 'weight_type' => 'Fixed',
- 'status' => 'Product online',
- 'shipment_type' => 'Together',
- 'website_ids' => ['Main Website'],
- 'stock_data' => [
- 'manage_stock' => 'Yes',
- 'use_config_enable_qty_increments' => 'Yes',
- 'use_config_qty_increments' => 'Yes',
- 'is_in_stock' => 'In Stock',
- ],
- 'url_key' => 'bundle-fixed-product-%isolation%',
- 'visibility' => 'Catalog, Search',
- 'bundle_selections' => ['preset' => 'default_fixed'],
- 'attribute_set_id' => 'Default',
- 'checkout_data' => ['preset' => 'default_fixed'],
- ];
- }
-}
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
new file mode 100644
index 0000000000000..f8d27a60783b6
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct.xml
@@ -0,0 +1,135 @@
+
+
+
+
+
+ BundleDynamic_sku_10735074493
+ BundleDynamic 1073507449
+
+ - 1
+ - 2
+
+
+
+
+ - taxable_goods
+
+ 0
+ 0
+ 0
+ Product online
+ 1
+ bundle-dynamic-product-%isolation%
+ BundleDynamic_sku_1073507449
+
+ - Main Website
+
+
+
+
+ BundleDynamic_sku_215249172
+ BundleDynamic 215249172
+
+ - 3
+ - 4
+
+
+
+
+ - taxable_goods
+
+ 0
+ 0
+ 0
+ 1
+ bundle-dynamic-product-%isolation%
+ BundleDynamic_sku_215249172
+
+ - Main Website
+
+
+
+
+ Bundle dynamic product %isolation%
+ sku_bundle_dynamic_product_%isolation%
+ Dynamic
+ Dynamic
+
+ - -
+ - default_dynamic
+
+
+ - 666
+ - In Stock
+
+ Dynamic
+ Separately
+
+ - taxable_goods
+
+
+ - Main Website
+
+
+ - Yes
+ - Yes
+ - Yes
+ - In Stock
+
+ bundle-dynamic-product-%isolation%
+ Catalog, Search
+
+ - default_dynamic
+
+ Default
+
+ - default_dynamic
+
+
+
+
+ Bundle fixed product %isolation%
+ sku_bundle_fixed_product_%isolation%
+ Fixed
+ Fixed
+
+ - 750
+ - default_fixed
+
+
+ - taxable_goods
+
+
+ - 666
+ - In Stock
+
+ 1
+ Fixed
+ Product online
+ Together
+
+ - Main Website
+
+
+ - Yes
+ - Yes
+ - Yes
+ - In Stock
+
+ bundle-fixed-product-%isolation%
+ Catalog, Search
+
+ - default_fixed
+
+ Default
+
+ - default_fixed
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest/test.csv
index 53d0c45423592..4879de57fde4d 100644
--- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest/test.csv
@@ -1,15 +1,15 @@
-"product/data/name";"product/data/sku_type";"product/data/sku";"product/data/status";"product/data/price_type";"product/data/price/value";"product/data/price/preset";"product/data/tax_class_id/dataSet";"product/data/quantity_and_stock_status/is_in_stock";"product/data/weight_type";"product/data/weight";"product/data/category";"product/data/description";"product/data/group_price/preset";"product/data/special_price";"product/data/special_from_date/pattern";"product/data/special_to_date/pattern";"product/data/tier_price/preset";"product/data/price_view";"product/data/stock_data/use_config_manage_stock";"product/data/stock_data/manage_stock";"product/data/shipment_type";"product/data/bundle_selections/preset";"product/data/bundle_selections/products";"product/data/checkout_data/preset";"product/data/custom_options/preset";"product/data/custom_options/import_products";"product/data/visibility";"product/data/use_config_gift_message_available";"product/data/gift_message_available";"constraint"
-"BundleProduct %isolation%";"-";"bundle_sku_%isolation%";"-";"-";"-";"-";"-";"-";"-";"-";"-";"Bundle Product Dynamic Required";"-";"-";"-";"-";"-";"-";"No";"No";"-";"default_dynamic";"catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertBundleItemsOnProductPage"
-"BundleProduct %isolation%";"Fixed";"bundle_sku_%isolation%";"Product offline";"Dynamic";"-";"-";"-";"Out of Stock";"Dynamic";"-";"category_%isolation%";"-";"-";"-";"-";"-";"-";"-";"-";"-";"Separately";"default_dynamic";"catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product";"default";"-";"-";"Catalog, Search";"No";"Yes";"assertProductSaveMessage, assertProductNotSearchableBySku"
-"BundleProduct %isolation%";"Dynamic";"bundle_sku_%isolation%";"Product online";"Dynamic";"-";"dynamic-200";"-";"In Stock";"Dynamic";"-";"category_%isolation%";"Bundle Product Dynamic";"-";"-";"-";"-";"-";"Price Range";"-";"-";"Together";"all_types_dynamic";"catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product|catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product|catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product|catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product";"all_types_bundle_options";"-";"-";"Catalog, Search";"No";"Yes";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertProductSearchableBySku, assertBundleProductPage, assertProductInStock, assertBundleItemsOnProductPage, assertProductVisibleInCategory, assertBundlePriceView, assertBundlePriceType"
-"BundleProduct %isolation%";"Fixed";"bundle_sku_%isolation%";"-";"Fixed";"10";"fixed-15";"None";"-";"Fixed";"10";"-";"Bundle Product Fixed Required";"-";"-";"-";"-";"-";"-";"-";"-";"-";"default_fixed";"catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertProductSearchableBySku, assertBundleProductPage, assertBundleItemsOnProductPage"
-"BundleProduct %isolation%";"Fixed";"bundle_sku_%isolation%";"Product online";"Fixed";"100";"fixed-24";"Taxable Goods";"In Stock";"Fixed";"10";"category_%isolation%";"Bundle Product Fixed";"default";"-";"-";"-";"-";"As Low as";"-";"-";"Separately";"all_types_fixed";"catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product|catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product|catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product|catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product";"all_types_bundle_fixed_and_custom_options";"all_types";"-";"Catalog, Search";"No";"No";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertProductVisibleInCategory, assertBundleProductPage, assertProductInStock, assertGroupedPriceOnBundleProductPage, assertBundleItemsOnProductPage, assertBundlePriceView, assertBundlePriceType"
-"BundleProduct %isolation%";"Fixed";"bundle_sku_%isolation%";"Product online";"Fixed";"10";"fixed-1";"Taxable Goods";"Out of Stock";"Fixed";"10";"category_%isolation%";"-";"-";"10";"m/d/Y";"m/d/Y +3 days";"-";"Price Range";"No";"Yes";"Together";"with_not_required_options";"catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product|catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product";"with_not_required_options";"-";"-";"Catalog";"No";"No";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertBundleProductPage, assertProductOutOfStock, assertBundlePriceView"
-"BundleProduct %isolation%";"Dynamic";"bundle_sku_%isolation%";"-";"Dynamic";"-";"dynamic-50";"-";"-";"Fixed";"10";"-";"-";"-";"-";"-";"-";"default";"As Low as";"No";"No";"Together";"default_dynamic";"catalogProductSimple::100_dollar_product,catalogProductVirtual::50_dollar_product";"default";"-";"-";"Search";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertProductSearchableBySku, assertBundleProductPage, assertBundleItemsOnProductPage, assertTierPriceOnBundleProductPage"
-"Bundle Dynamic %isolation%";"Dynamic";"sku_bundle_dynamic_%isolation%";"-";"Dynamic";"-";"dynamic-8";"-";"-";"-";"-";"-";"-";"-";"20";"-";"-";"-";"-";"-";"-";"-";"default_dynamic";"catalogProductSimple::100_dollar_product,catalogProductSimple::40_dollar_product";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory"
-"Bundle Dynamic %isolation%";"Dynamic";"sku_bundle_dynamic_%isolation%";"-";"Dynamic";"-";"dynamic-32";"-";"-";"-";"-";"-";"-";"MAGETWO-23061";"-";"-";"-";"-";"-";"-";"-";"-";"default_dynamic";"catalogProductSimple::100_dollar_product,catalogProductSimple::40_dollar_product";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory, assertBundlePriceView, assertBundlePriceType"
-"Bundle Dynamic %isolation%";"Dynamic";"sku_bundle_dynamic_%isolation%";"-";"Dynamic";"-";"dynamic-40";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"default_dynamic";"catalogProductSimple::100_dollar_product,catalogProductSimple::40_dollar_product";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory, assertBundlePriceView, assertBundlePriceType"
-"Bundle Fixed %isolation%";"Fixed";"sku_bundle_fixed_%isolation%";"-";"Fixed";"110";"fixed-115";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"second";"catalogProductSimple::100_dollar_product,catalogProductSimple::40_dollar_product";"with_custom_options_1";"drop_down_with_one_option_fixed_price";"catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory, assertBundlePriceView, assertBundlePriceType, assertProductCustomOptionsOnBundleProductPage"
-"Bundle Fixed %isolation%";"Fixed";"sku_bundle_fixed_%isolation%";"-";"Fixed";"110";"fixed-159";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"second";"catalogProductSimple::100_dollar_product,catalogProductSimple::40_dollar_product";"with_custom_options_2";"drop_down_with_one_option_percent_price";"-";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory, assertBundlePriceView, assertBundlePriceType"
-"Bundle Dynamic %isolation%";"Dynamic";"sku_bundle_dynamic_%isolation%";"-";"Dynamic";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"default_dynamic";"catalogProductSimple::100_dollar_product,catalogProductSimple::40_dollar_product";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage"
-"Bundle Fixed %isolation%";"Fixed";"sku_bundle_fixed_%isolation%";"-";"Fixed";"10";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"second";"catalogProductSimple::100_dollar_product,catalogProductSimple::40_dollar_product";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage"
+"product/data/url_key";"product/data/name";"product/data/sku_type";"product/data/sku";"product/data/status";"product/data/price_type";"product/data/price/value";"product/data/price/preset";"product/data/tax_class_id/dataSet";"product/data/quantity_and_stock_status/is_in_stock";"product/data/weight_type";"product/data/weight";"product/data/category";"product/data/description";"product/data/group_price/preset";"product/data/special_price";"product/data/special_from_date/pattern";"product/data/special_to_date/pattern";"product/data/tier_price/preset";"product/data/price_view";"product/data/stock_data/use_config_manage_stock";"product/data/stock_data/manage_stock";"product/data/shipment_type";"product/data/bundle_selections/preset";"product/data/bundle_selections/products";"product/data/checkout_data/preset";"product/data/custom_options/preset";"product/data/custom_options/import_products";"product/data/visibility";"product/data/use_config_gift_message_available";"product/data/gift_message_available";"constraint"
+"bundle-product-%isolation%";"BundleProduct %isolation%";"-";"bundle_sku_%isolation%";"-";"-";"-";"-";"-";"-";"-";"-";"-";"Bundle Product Dynamic Required";"-";"-";"-";"-";"-";"-";"No";"No";"-";"default_dynamic";"catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertBundleItemsOnProductPage"
+"bundle-product-%isolation%";"BundleProduct %isolation%";"Fixed";"bundle_sku_%isolation%";"Product offline";"Dynamic";"-";"-";"-";"Out of Stock";"Dynamic";"-";"category_%isolation%";"-";"-";"-";"-";"-";"-";"-";"-";"-";"Separately";"default_dynamic";"catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar";"default";"-";"-";"Catalog, Search";"No";"Yes";"assertProductSaveMessage, assertProductNotSearchableBySku"
+"bundle-product-%isolation%";"BundleProduct %isolation%";"Dynamic";"bundle_sku_%isolation%";"Product online";"Dynamic";"-";"dynamic-200";"-";"In Stock";"Dynamic";"-";"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";"all_types_bundle_options";"-";"-";"Catalog, Search";"No";"Yes";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertProductSearchableBySku, assertBundleProductPage, assertProductInStock, assertBundleItemsOnProductPage, assertProductVisibleInCategory, assertBundlePriceView, assertBundlePriceType"
+"bundle-product-%isolation%";"BundleProduct %isolation%";"Fixed";"bundle_sku_%isolation%";"-";"Fixed";"10";"fixed-15";"None";"-";"Fixed";"10";"-";"Bundle Product Fixed Required";"-";"-";"-";"-";"-";"-";"-";"-";"-";"default_fixed";"catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertProductSearchableBySku, assertBundleProductPage, assertBundleItemsOnProductPage"
+"bundle-product-%isolation%";"BundleProduct %isolation%";"Fixed";"bundle_sku_%isolation%";"Product online";"Fixed";"100";"fixed-24";"taxable_goods";"In Stock";"Fixed";"10";"category_%isolation%";"Bundle Product Fixed";"default";"-";"-";"-";"-";"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";"all_types_bundle_fixed_and_custom_options";"all_types";"-";"Catalog, Search";"No";"No";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertProductVisibleInCategory, assertBundleProductPage, assertProductInStock, assertGroupedPriceOnBundleProductPage, assertBundleItemsOnProductPage, assertBundlePriceView, assertBundlePriceType"
+"bundle-product-%isolation%";"BundleProduct %isolation%";"Fixed";"bundle_sku_%isolation%";"Product online";"Fixed";"10";"fixed-1";"taxable_goods";"Out of Stock";"Fixed";"10";"category_%isolation%";"-";"-";"10";"m/d/Y";"m/d/Y +3 days";"-";"Price Range";"No";"Yes";"Together";"with_not_required_options";"catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar|catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar";"with_not_required_options";"-";"-";"Catalog";"No";"No";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertBundleProductPage, assertProductOutOfStock, assertBundlePriceView"
+"bundle-product-%isolation%";"BundleProduct %isolation%";"Dynamic";"bundle_sku_%isolation%";"-";"Dynamic";"-";"dynamic-50";"-";"-";"Fixed";"10";"-";"-";"-";"-";"-";"-";"default";"As Low as";"No";"No";"Together";"default_dynamic";"catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar";"default";"-";"-";"Search";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertBundleProductForm, assertProductSearchableBySku, assertBundleProductPage, assertBundleItemsOnProductPage, assertTierPriceOnBundleProductPage"
+"bundle-product-%isolation%";"Bundle Dynamic %isolation%";"Dynamic";"sku_bundle_dynamic_%isolation%";"-";"Dynamic";"-";"dynamic-8";"-";"-";"-";"-";"-";"-";"-";"20";"-";"-";"-";"-";"-";"-";"-";"default_dynamic";"catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory"
+"bundle-product-%isolation%";"Bundle Dynamic %isolation%";"Dynamic";"sku_bundle_dynamic_%isolation%";"-";"Dynamic";"-";"dynamic-32";"-";"-";"-";"-";"-";"-";"MAGETWO-23061";"-";"-";"-";"-";"-";"-";"-";"-";"default_dynamic";"catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory, assertBundlePriceView, assertBundlePriceType"
+"bundle-product-%isolation%";"Bundle Dynamic %isolation%";"Dynamic";"sku_bundle_dynamic_%isolation%";"-";"Dynamic";"-";"dynamic-40";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"default_dynamic";"catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory, assertBundlePriceView, assertBundlePriceType"
+"bundle-product-%isolation%";"Bundle Fixed %isolation%";"Fixed";"sku_bundle_fixed_%isolation%";"-";"Fixed";"110";"fixed-115";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"second";"catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar";"with_custom_options_1";"drop_down_with_one_option_fixed_price";"catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory, assertBundlePriceView, assertBundlePriceType, assertProductCustomOptionsOnBundleProductPage"
+"bundle-product-%isolation%";"Bundle Fixed %isolation%";"Fixed";"sku_bundle_fixed_%isolation%";"-";"Fixed";"110";"fixed-159";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"second";"catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar";"with_custom_options_2";"drop_down_with_one_option_percent_price";"-";"-";"-";"-";"assertProductSaveMessage, assertBundleInCategory, assertBundlePriceView, assertBundlePriceType"
+"bundle-product-%isolation%";"Bundle Dynamic %isolation%";"Dynamic";"sku_bundle_dynamic_%isolation%";"-";"Dynamic";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"default_dynamic";"catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage"
+"bundle-product-%isolation%";"Bundle Fixed %isolation%";"Fixed";"sku_bundle_fixed_%isolation%";"-";"Fixed";"10";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"second";"catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar";"default";"-";"-";"-";"-";"-";"assertProductSaveMessage"
diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest/test.csv
index 440518b0e5a28..235936c0f1038 100644
--- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest/test.csv
@@ -1,3 +1,3 @@
-"originalProduct/dataSet";"product/data/name";"product/data/sku_type";"product/data/sku";"product/data/price/preset";"product/data/weight_type";"product/data/weight";"product/data/category_ids/presets";"product/data/description";"product/data/bundle_shipment_type";"product/data/bundle_selections/preset";"product/data/checkout_data/preset";"product/data/visibility";"constraint"
-"bundle_dynamic_product";"bundle_dynamic_%isolation%";"Fixed";"bundle_dynamic_%isolation%";"dynamic-100";"Fixed";"1";"-";"Bundle Product Fixed Required";"Together";"default_dynamic";"default";"-";"assertProductSaveMessage, assertProductInGrid, assertBundleItemsOnProductPage, assertBundleProductForm, assertBundleProductPage, assertProductInStock, assertBundlePriceView, assertBundlePriceType"
-"bundle_fixed_product";"bundle_dynamic_%isolation%";"Dynamic";"bundle_sku_%isolation%";"fixed-756";"Dynamic";"-";"default_subcategory";"-";"Separately";"default_fixed";"default";"Catalog, Search";"assertProductSaveMessage, assertProductInGrid, assertBundleItemsOnProductPage, assertBundleProductForm, assertBundleProductPage, assertProductInStock, assertProductVisibleInCategory, assertBundlePriceView, assertBundlePriceType"
+"originalProduct/dataSet";"product/data/name";"product/data/sku_type";"product/data/sku";"product/data/price/preset";"product/data/weight_type";"product/data/weight";"product/data/category_ids/presets";"product/data/description";"product/data/bundle_shipment_type";"product/data/bundle_selections/preset";"product/data/checkout_data/preset";"product/data/visibility";"product/data/url_key";"constraint"
+"bundle_dynamic_product";"bundle_fixed_%isolation%";"Fixed";"bundle_fixed_%isolation%";"dynamic-100";"Fixed";"1";"-";"Bundle Product Fixed Required";"Together";"default_dynamic";"default";"-";"bundle-fixed-url-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertBundleItemsOnProductPage, assertBundleProductForm, assertBundleProductPage, assertProductInStock, assertBundlePriceView, assertBundlePriceType"
+"bundle_fixed_product";"bundle_dynamic_%isolation%";"Dynamic";"bundle_sku_%isolation%";"fixed-756";"Dynamic";"-";"default_subcategory";"-";"Separately";"default_fixed";"default";"Catalog, Search";"bundle-dynamic-url-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertBundleItemsOnProductPage, assertBundleProductForm, assertBundleProductPage, assertProductInStock, assertProductVisibleInCategory, assertBundlePriceView, assertBundlePriceType"
diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/fixture.xml
index 17f1f7b25ce02..cb464a3435f02 100644
--- a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/fixture.xml
+++ b/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/fixture.xml
@@ -25,7 +25,7 @@
Magento\Bundle\Test\Fixture\Bundle\BundleSelections
-
+
@@ -36,7 +36,7 @@
-
+
bundle
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
index 15a87f2de91c0..802a2d53e6bc0 100644
--- 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
@@ -1,6 +1,5 @@
browser->selectWindow();
- $this->_rootElement->find($this->qty)->keys([$qty]);
+ $this->_rootElement->find($this->qty)->setValue($qty);
$this->_rootElement->click();
}
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
index 06d7ce4fe0af9..2f17bd3a740a1 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryForm.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryForm.php
@@ -48,7 +48,7 @@ public function processAssert(
$fixtureData = $this->prepareFixtureData($category->getData());
$formData = $catalogCategoryEdit->getEditForm()->getData($category);
$error = $this->verifyData($this->sortData($fixtureData), $this->sortData($formData));
- \PHPUnit_Framework_Assert::assertEmpty($error);
+ \PHPUnit_Framework_Assert::assertEmpty($error, $error);
}
/**
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
index 23e31de68caf9..94bd2b2647082 100755
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPage.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPage.php
@@ -131,11 +131,10 @@ protected function verifyPrice()
*/
protected function verifySpecialPrice()
{
- $fixtureProductSpecialPrice = $this->product->getSpecialPrice();
- if (!$fixtureProductSpecialPrice) {
+ if (!$this->product->hasData('special_price')) {
return null;
}
-
+ $fixtureProductSpecialPrice = $this->product->getSpecialPrice();
$fixtureProductSpecialPrice = number_format($fixtureProductSpecialPrice, 2);
$formProductSpecialPrice = $this->productView->getPriceBlock()->getSpecialPrice();
if ($fixtureProductSpecialPrice == $formProductSpecialPrice) {
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.php
deleted file mode 100644
index 21cf68bc8a85d..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.php
+++ /dev/null
@@ -1,118 +0,0 @@
- 'Default_attribute_set_%isolation%',
- 'skeleton_set' => ['dataSet' => 'default'],
- ];
-
- protected $attribute_set_id = [
- 'attribute_code' => 'attribute_set_id',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $entity_type_id = [
- 'attribute_code' => 'entity_type_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $attribute_set_name = [
- 'attribute_code' => 'attribute_set_name',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $sort_order = [
- 'attribute_code' => 'sort_order',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $skeleton_set = [
- 'attribute_code' => 'skeleton_set',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogAttributeSet\SkeletonSet',
- ];
-
- protected $assigned_attributes = [
- 'attribute_code' => 'assigned_attributes',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogAttributeSet\AssignedAttributes',
- ];
-
- protected $group = [
- 'attribute_code' => 'group',
- 'backend_type' => 'virtual',
- ];
-
- public function getAttributeSetId()
- {
- return $this->getData('attribute_set_id');
- }
-
- public function getEntityTypeId()
- {
- return $this->getData('entity_type_id');
- }
-
- public function getAttributeSetName()
- {
- return $this->getData('attribute_set_name');
- }
-
- public function getSortOrder()
- {
- return $this->getData('sort_order');
- }
-
- public function getSkeletonSet()
- {
- return $this->getData('skeleton_set');
- }
-
- public function getAssignedAttributes()
- {
- return $this->getData('assigned_attributes');
- }
-
- public function getGroup()
- {
- return $this->getData('group');
- }
-}
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
index 1c83ee4bc360f..ede6703369d54 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.xml
@@ -5,54 +5,68 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Catalog
flat
eav_attribute_set
Magento\Catalog\Model\Resource\Product\Link\Product\Collection
+ Magento\Catalog\Test\Repository\CatalogAttributeSet
+ Magento\Catalog\Test\Handler\CatalogAttributeSet\CatalogAttributeSetInterface
+
+ Default_attribute_set_%isolation%
+
+ - default
+
+
-
+
attribute_set_id
smallint
1
-
-
-
-
+
+
+
+
entity_type_id
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
attribute_set_name
varchar
-
-
-
-
-
+
+ Default_attribute_set_%isolation%
+
+
+
sort_order
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
skeleton_set
- virtual
-
-
+ varchar
+
+
+ - default
+
+
+
+
+
assigned_attributes
virtual
-
-
+
+
group
virtual
-
+
- Magento\Catalog\Test\Repository\CatalogAttributeSet
- Magento\Catalog\Test\Handler\CatalogAttributeSet\CatalogAttributeSetInterface
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.php
deleted file mode 100644
index 4d645477ec25d..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.php
+++ /dev/null
@@ -1,580 +0,0 @@
- 'attribute_label%isolation%',
- 'frontend_input' => 'Text Field',
- 'is_required' => 'No',
- ];
-
- protected $attribute_id = [
- 'attribute_code' => 'attribute_id',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $entity_type_id = [
- 'attribute_code' => 'entity_type_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $attribute_code = [
- 'attribute_code' => 'attribute_code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'advanced-properties',
- ];
-
- protected $attribute_model = [
- 'attribute_code' => 'attribute_model',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $backend_model = [
- 'attribute_code' => 'backend_model',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $backend_type = [
- 'attribute_code' => 'backend_type',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => 'static',
- 'input' => '',
- ];
-
- protected $backend_table = [
- 'attribute_code' => 'backend_table',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $frontend_model = [
- 'attribute_code' => 'frontend_model',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $frontend_input = [
- 'attribute_code' => 'frontend_input',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'properties',
- ];
-
- protected $frontend_label = [
- 'attribute_code' => 'frontend_label',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'properties',
- ];
-
- protected $manage_frontend_label = [
- 'attribute_code' => 'manage_frontend_label',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'manage-labels',
- ];
-
- protected $frontend_class = [
- 'attribute_code' => 'frontend_class',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $source_model = [
- 'attribute_code' => 'source_model',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $is_required = [
- 'attribute_code' => 'is_required',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => 'select',
- 'group' => 'properties',
- ];
-
- protected $is_user_defined = [
- 'attribute_code' => 'is_user_defined',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $is_unique = [
- 'attribute_code' => 'is_unique',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'advanced-properties',
- ];
-
- protected $note = [
- 'attribute_code' => 'note',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $frontend_input_renderer = [
- 'attribute_code' => 'frontend_input_renderer',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $is_global = [
- 'attribute_code' => 'is_global',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- 'group' => 'advanced-properties',
- ];
-
- protected $is_visible = [
- 'attribute_code' => 'is_visible',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- ];
-
- protected $is_searchable = [
- 'attribute_code' => 'is_searchable',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $is_filterable = [
- 'attribute_code' => 'is_filterable',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $is_comparable = [
- 'attribute_code' => 'is_comparable',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $is_visible_on_front = [
- 'attribute_code' => 'is_visible_on_front',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $is_html_allowed_on_front = [
- 'attribute_code' => 'is_html_allowed_on_front',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $is_used_for_price_rules = [
- 'attribute_code' => 'is_used_for_price_rules',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $is_filterable_in_search = [
- 'attribute_code' => 'is_filterable_in_search',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $used_in_product_listing = [
- 'attribute_code' => 'used_in_product_listing',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $used_for_sort_by = [
- 'attribute_code' => 'used_for_sort_by',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $apply_to = [
- 'attribute_code' => 'apply_to',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $is_visible_in_advanced_search = [
- 'attribute_code' => 'is_visible_in_advanced_search',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'frontend-properties',
- ];
-
- protected $position = [
- 'attribute_code' => 'position',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $is_wysiwyg_enabled = [
- 'attribute_code' => 'is_wysiwyg_enabled',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $is_used_for_promo_rules = [
- 'attribute_code' => 'is_used_for_promo_rules',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $is_configurable = [
- 'attribute_code' => 'is_configurable',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'advanced-properties',
- ];
-
- protected $search_weight = [
- 'attribute_code' => 'search_weight',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- ];
-
- protected $options = [
- 'attribute_code' => 'options',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductAttribute\Options',
- ];
-
- protected $default_value_text = [
- 'attribute_code' => 'default_value_text',
- 'backend_type' => 'text',
- 'group' => 'advanced-properties',
- ];
-
- protected $default_value_textarea = [
- 'attribute_code' => 'default_value_textarea',
- 'backend_type' => 'text',
- 'group' => 'advanced-properties',
- ];
-
- protected $default_value_date = [
- 'attribute_code' => 'default_value_date',
- 'backend_type' => 'text',
- 'group' => 'advanced-properties',
- 'source' => 'Magento\Backend\Test\Fixture\Date',
- ];
-
- protected $default_value_yesno = [
- 'attribute_code' => 'default_value_yesno',
- 'backend_type' => 'text',
- 'group' => 'advanced-properties',
- ];
-
- public function getDefaultValueText()
- {
- return $this->getData('default_value_text');
- }
-
- public function getDefaultValueTextarea()
- {
- return $this->getData('default_value_textarea');
- }
-
- public function getDefaultValueDate()
- {
- return $this->getData('default_value_date');
- }
-
- public function getDefaultValueYesno()
- {
- return $this->getData('default_value_yesno');
- }
-
- public function getAttributeId()
- {
- return $this->getData('attribute_id');
- }
-
- public function getEntityTypeId()
- {
- return $this->getData('entity_type_id');
- }
-
- public function getAttributeCode()
- {
- return $this->getData('attribute_code');
- }
-
- public function getAttributeModel()
- {
- return $this->getData('attribute_model');
- }
-
- public function getBackendModel()
- {
- return $this->getData('backend_model');
- }
-
- public function getBackendType()
- {
- return $this->getData('backend_type');
- }
-
- public function getBackendTable()
- {
- return $this->getData('backend_table');
- }
-
- public function getFrontendModel()
- {
- return $this->getData('frontend_model');
- }
-
- public function getFrontendInput()
- {
- return $this->getData('frontend_input');
- }
-
- public function getFrontendLabel()
- {
- return $this->getData('frontend_label');
- }
-
- public function getManageFrontendLabel()
- {
- return $this->getData('manage_frontend_label');
- }
-
- public function getFrontendClass()
- {
- return $this->getData('frontend_class');
- }
-
- public function getSourceModel()
- {
- return $this->getData('source_model');
- }
-
- public function getIsRequired()
- {
- return $this->getData('is_required');
- }
-
- public function getIsUserDefined()
- {
- return $this->getData('is_user_defined');
- }
-
- public function getIsUnique()
- {
- return $this->getData('is_unique');
- }
-
- public function getNote()
- {
- return $this->getData('note');
- }
-
- public function getFrontendInputRenderer()
- {
- return $this->getData('frontend_input_renderer');
- }
-
- public function getIsGlobal()
- {
- return $this->getData('is_global');
- }
-
- public function getIsVisible()
- {
- return $this->getData('is_visible');
- }
-
- public function getIsSearchable()
- {
- return $this->getData('is_searchable');
- }
-
- public function getIsFilterable()
- {
- return $this->getData('is_filterable');
- }
-
- public function getIsComparable()
- {
- return $this->getData('is_comparable');
- }
-
- public function getIsVisibleOnFront()
- {
- return $this->getData('is_visible_on_front');
- }
-
- public function getIsHtmlAllowedOnFront()
- {
- return $this->getData('is_html_allowed_on_front');
- }
-
- public function getIsUsedForPriceRules()
- {
- return $this->getData('is_used_for_price_rules');
- }
-
- public function getIsFilterableInSearch()
- {
- return $this->getData('is_filterable_in_search');
- }
-
- public function getUsedInProductListing()
- {
- return $this->getData('used_in_product_listing');
- }
-
- public function getUsedForSortBy()
- {
- return $this->getData('used_for_sort_by');
- }
-
- public function getApplyTo()
- {
- return $this->getData('apply_to');
- }
-
- public function getIsVisibleInAdvancedSearch()
- {
- return $this->getData('is_visible_in_advanced_search');
- }
-
- public function getPosition()
- {
- return $this->getData('position');
- }
-
- public function getIsWysiwygEnabled()
- {
- return $this->getData('is_wysiwyg_enabled');
- }
-
- public function getIsUsedForPromoRules()
- {
- return $this->getData('is_used_for_promo_rules');
- }
-
- public function getIsConfigurable()
- {
- return $this->getData('is_configurable');
- }
-
- public function getSearchWeight()
- {
- return $this->getData('search_weight');
- }
-
- public function getOptions()
- {
- return $this->getData('options');
- }
-}
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
index 9e5a15b9e208b..abe87d1040677 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.xml
@@ -5,288 +5,322 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Catalog
composite
- eav_attribute
- catalog_eav_attribute
+
+
Magento\Catalog\Model\Resource\Attribute
+ Magento\Catalog\Test\Repository\CatalogProductAttribute
+ Magento\Catalog\Test\Handler\CatalogProductAttribute\CatalogProductAttributeInterface
+
+ attribute_label%isolation%
+ Text Field
+ No
+
-
+
attribute_id
smallint
1
-
-
-
-
+
+
+
+
entity_type_id
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
attribute_code
varchar
-
-
-
-
-
+
+
+
+ advanced-properties
+
+
attribute_model
varchar
-
-
-
-
-
+
+
+
+
+
backend_model
varchar
-
-
-
-
-
+
+
+
+
+
backend_type
varchar
-
- static
-
-
-
+
+ static
+
+
+
backend_table
varchar
-
-
-
-
-
+
+
+
+
+
frontend_model
varchar
-
-
-
-
-
+
+
+
+
+
frontend_input
varchar
-
-
-
+
+ Text Field
+ select
properties
-
-
+
+
frontend_label
varchar
-
-
-
+
+ attribute_label%isolation%
+
properties
-
-
+
+
+ manage_frontend_label
+ varchar
+
+
+
+ manage-labels
+
+
frontend_class
varchar
-
-
-
-
-
+
+
+
+
+
source_model
varchar
-
-
-
-
-
+
+
+
+
+
is_required
smallint
-
- 0
-
+
+ No
+ select
properties
-
-
+
+
is_user_defined
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
is_unique
smallint
-
- 0
-
-
-
+
+ 0
+
+ advanced-properties
+
+
note
varchar
-
-
-
-
-
+
+
+
+
+
frontend_input_renderer
varchar
-
-
-
-
-
+
+
+
+
+
is_global
smallint
-
- 1
-
-
-
+
+ 1
+
+ advanced-properties
+
+
is_visible
smallint
-
- 1
-
-
-
+
+ 1
+
+
+
is_searchable
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
is_filterable
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
is_comparable
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
is_visible_on_front
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
is_html_allowed_on_front
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
is_used_for_price_rules
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
is_filterable_in_search
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
used_in_product_listing
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
used_for_sort_by
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
apply_to
varchar
-
-
-
-
-
+
+
+
+
+
is_visible_in_advanced_search
smallint
-
- 0
-
-
-
+
+ 0
+
+ frontend-properties
+
+
position
int
-
- 0
-
-
-
+
+ 0
+
+
+
is_wysiwyg_enabled
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
is_used_for_promo_rules
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
is_configurable
smallint
-
-
-
-
-
+
+
+
+ advanced-properties
+
+
search_weight
smallint
-
- 1
-
-
-
+
+ 1
+
+
+
options
smallint
-
-
-
+
+
+
-
-
+
+
default_value_text
text
-
-
+ advanced-properties
+
+
default_value_textarea
text
-
-
+ advanced-properties
+
+
default_value_date
text
-
-
+ advanced-properties
+
+
+
default_value_yesno
text
-
+ advanced-properties
+
- Magento\Catalog\Test\Repository\CatalogProductAttribute
- Magento\Catalog\Test\Handler\CatalogProductAttribute\CatalogAttributeEntityInterface
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.php
deleted file mode 100755
index ffaa24098d39f..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.php
+++ /dev/null
@@ -1,935 +0,0 @@
-data['url_key']) && isset($this->data['name'])) {
- $this->data['url_key'] = trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $this->data['name'])), '-');
- }
- }
-
- protected $dataConfig = [
- 'type_id' => 'simple',
- 'create_url_params' => [
- 'type' => 'simple',
- 'set' => '4',
- ],
- 'input_prefix' => 'product',
- ];
-
- protected $defaultDataSet = [
- 'name' => 'Test simple product %isolation%',
- 'sku' => 'test_simple_sku_%isolation%',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'price' => ['value' => 100.00],
- 'weight' => 12.0000,
- 'quantity_and_stock_status' => [
- 'qty' => 10.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- ];
-
- protected $category_ids = [
- 'attribute_code' => 'category_ids',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CategoryIds',
- ];
-
- protected $color = [
- 'attribute_code' => 'color',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $country_of_manufacture = [
- 'attribute_code' => 'country_of_manufacture',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $custom_design = [
- 'attribute_code' => 'custom_design',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $custom_design_from = [
- 'attribute_code' => 'custom_design_from',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_design_to = [
- 'attribute_code' => 'custom_design_to',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_layout_update = [
- 'attribute_code' => 'custom_layout_update',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $description = [
- 'attribute_code' => 'description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- 'group' => 'product-details',
- ];
-
- protected $gallery = [
- 'attribute_code' => 'gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $gift_message_available = [
- 'attribute_code' => 'gift_message_available',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $group_price = [
- 'attribute_code' => 'group_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\GroupPriceOptions',
- ];
-
- protected $has_options = [
- 'attribute_code' => 'has_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $image = [
- 'attribute_code' => 'image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $image_label = [
- 'attribute_code' => 'image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $manufacturer = [
- 'attribute_code' => 'manufacturer',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $media_gallery = [
- 'attribute_code' => 'media_gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $meta_description = [
- 'attribute_code' => 'meta_description',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'group' => 'search-engine-optimization',
- 'input' => 'textarea',
- ];
-
- protected $meta_keyword = [
- 'attribute_code' => 'meta_keyword',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'group' => 'search-engine-optimization',
- 'input' => 'textarea',
- ];
-
- protected $meta_title = [
- 'attribute_code' => 'meta_title',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'group' => 'search-engine-optimization',
- 'input' => 'text',
- ];
-
- protected $minimal_price = [
- 'attribute_code' => 'minimal_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp = [
- 'attribute_code' => 'msrp',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp_display_actual_price_type = [
- 'attribute_code' => 'msrp_display_actual_price_type',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => 'Use config',
- 'input' => 'select',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $old_id = [
- 'attribute_code' => 'old_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $options_container = [
- 'attribute_code' => 'options_container',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => 'Block after Info Column',
- 'input' => 'select',
- ];
-
- protected $page_layout = [
- 'attribute_code' => 'page_layout',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $price = [
- 'attribute_code' => 'price',
- 'backend_type' => 'decimal',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\Price',
- ];
-
- protected $quantity_and_stock_status = [
- 'attribute_code' => 'quantity_and_stock_status',
- 'backend_type' => 'array',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'product-details',
- ];
-
- protected $required_options = [
- 'attribute_code' => 'required_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $sku = [
- 'attribute_code' => 'sku',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $small_image = [
- 'attribute_code' => 'small_image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $small_image_label = [
- 'attribute_code' => 'small_image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $special_from_date = [
- 'attribute_code' => 'special_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $short_description = [
- 'attribute_code' => 'short_description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- 'group' => 'autosettings',
- ];
-
- protected $special_price = [
- 'attribute_code' => 'special_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'advanced-pricing',
- ];
-
- protected $special_to_date = [
- 'attribute_code' => 'special_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $status = [
- 'attribute_code' => 'status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Product online',
- 'input' => 'checkbox',
- 'group' => 'product-details',
- ];
-
- protected $tax_class_id = [
- 'attribute_code' => 'tax_class_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Taxable Goods',
- 'input' => 'select',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TaxClass',
- ];
-
- protected $thumbnail = [
- 'attribute_code' => 'thumbnail',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $thumbnail_label = [
- 'attribute_code' => 'thumbnail_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $tier_price = [
- 'attribute_code' => 'tier_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TierPriceOptions',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $url_key = [
- 'attribute_code' => 'url_key',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'search-engine-optimization',
- ];
-
- protected $url_path = [
- 'attribute_code' => 'url_path',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $visibility = [
- 'attribute_code' => 'visibility',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Catalog, Search',
- 'input' => 'select',
- 'group' => 'autosettings',
- ];
-
- protected $weight = [
- 'attribute_code' => 'weight',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'weight',
- 'group' => 'product-details',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- 'group' => null,
- ];
-
- protected $type_id = [
- 'attribute_code' => 'type_id',
- 'backend_type' => 'virtual',
- ];
-
- protected $attribute_set_id = [
- 'attribute_code' => 'attribute_set_id',
- 'backend_type' => 'virtual',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\AttributeSetId',
- ];
-
- protected $custom_attribute = [
- 'attribute_code' => 'custom_attribute',
- 'backend_type' => 'virtual',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CustomAttribute',
- ];
-
- protected $custom_options = [
- 'attribute_code' => 'custom_options',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'group' => 'customer-options',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CustomOptions',
- ];
-
- protected $website_ids = [
- 'attribute_code' => 'website_ids',
- 'backend_type' => 'virtual',
- 'default_value' => 'Main Website',
- 'group' => 'websites',
- ];
-
- protected $is_returnable = [
- 'attribute_code' => 'is_returnable',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '2',
- 'input' => 'select',
- 'group' => 'autosettings',
- ];
-
- protected $news_from_date = [
- 'attribute_code' => 'news_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- 'source' => 'Magento\Backend\Test\Fixture\Date',
- ];
-
- protected $news_to_date = [
- 'attribute_code' => 'news_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- 'source' => 'Magento\Backend\Test\Fixture\Date',
- ];
-
- protected $stock_data = [
- 'attribute_code' => 'stock_data',
- 'backend_type' => 'virtual',
- 'group' => 'advanced-inventory'
- ];
-
- protected $checkout_data = [
- 'attribute_code' => 'checkout_data',
- 'backend_type' => 'virtual',
- 'group' => null,
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CheckoutData'
- ];
-
- protected $cross_sell_products = [
- 'attribute_code' => 'cross_sell_products',
- 'backend_type' => 'virtual',
- 'group' => 'crosssells',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CrossSellProducts'
- ];
-
- protected $up_sell_products = [
- 'attribute_code' => 'up_sell_products',
- 'backend_type' => 'virtual',
- 'group' => 'upsells',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\UpSellProducts'
- ];
-
- protected $related_products = [
- 'attribute_code' => 'related_products',
- 'backend_type' => 'virtual',
- 'group' => 'related-products',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\RelatedProducts'
- ];
-
- protected $is_virtual = [
- 'attribute_code' => 'is_virtual',
- 'backend_type' => 'virtual',
- 'group' => 'product-details',
- ];
-
- protected $attributes = [
- 'attribute_code' => 'attributes',
- 'backend_type' => 'virtual',
- ];
-
- protected $fpt = [
- 'attribute_code' => 'fpt',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\Fpt'
- ];
-
- public function getCategoryIds()
- {
- return $this->getData('category_ids');
- }
-
- public function getColor()
- {
- return $this->getData('color');
- }
-
- public function getCountryOfManufacture()
- {
- return $this->getData('country_of_manufacture');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getCustomDesign()
- {
- return $this->getData('custom_design');
- }
-
- public function getCustomDesignFrom()
- {
- return $this->getData('custom_design_from');
- }
-
- public function getCustomDesignTo()
- {
- return $this->getData('custom_design_to');
- }
-
- public function getCustomLayoutUpdate()
- {
- return $this->getData('custom_layout_update');
- }
-
- public function getDescription()
- {
- return $this->getData('description');
- }
-
- public function getGallery()
- {
- return $this->getData('gallery');
- }
-
- public function getGiftMessageAvailable()
- {
- return $this->getData('gift_message_available');
- }
-
- public function getGroupPrice()
- {
- return $this->getData('group_price');
- }
-
- public function getHasOptions()
- {
- return $this->getData('has_options');
- }
-
- public function getImage()
- {
- return $this->getData('image');
- }
-
- public function getImageLabel()
- {
- return $this->getData('image_label');
- }
-
- public function getManufacturer()
- {
- return $this->getData('manufacturer');
- }
-
- public function getMediaGallery()
- {
- return $this->getData('media_gallery');
- }
-
- public function getMetaDescription()
- {
- return $this->getData('meta_description');
- }
-
- public function getMetaKeyword()
- {
- return $this->getData('meta_keyword');
- }
-
- public function getMetaTitle()
- {
- return $this->getData('meta_title');
- }
-
- public function getMinimalPrice()
- {
- return $this->getData('minimal_price');
- }
-
- public function getMsrp()
- {
- return $this->getData('msrp');
- }
-
- public function getMsrpDisplayActualPriceType()
- {
- return $this->getData('msrp_display_actual_price_type');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getOldId()
- {
- return $this->getData('old_id');
- }
-
- public function getOptionsContainer()
- {
- return $this->getData('options_container');
- }
-
- public function getPageLayout()
- {
- return $this->getData('page_layout');
- }
-
- public function getPrice()
- {
- return $this->getData('price');
- }
-
- public function getQuantityAndStockStatus()
- {
- return $this->getData('quantity_and_stock_status');
- }
-
- public function getRequiredOptions()
- {
- return $this->getData('required_options');
- }
-
- public function getSku()
- {
- return $this->getData('sku');
- }
-
- public function getSmallImage()
- {
- return $this->getData('small_image');
- }
-
- public function getSmallImageLabel()
- {
- return $this->getData('small_image_label');
- }
-
- public function getSpecialFromDate()
- {
- return $this->getData('special_from_date');
- }
-
- public function getShortDescription()
- {
- return $this->getData('short_description');
- }
-
- public function getSpecialPrice()
- {
- return $this->getData('special_price');
- }
-
- public function getSpecialToDate()
- {
- return $this->getData('special_to_date');
- }
-
- public function getStatus()
- {
- return $this->getData('status');
- }
-
- public function getTaxClassId()
- {
- return $this->getData('tax_class_id');
- }
-
- public function getThumbnail()
- {
- return $this->getData('thumbnail');
- }
-
- public function getThumbnailLabel()
- {
- return $this->getData('thumbnail_label');
- }
-
- public function getTierPrice()
- {
- return $this->getData('tier_price');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-
- public function getUrlKey()
- {
- return $this->getData('url_key');
- }
-
- public function getUrlPath()
- {
- return $this->getData('url_path');
- }
-
- public function getVisibility()
- {
- return $this->getData('visibility');
- }
-
- public function getWeight()
- {
- return $this->getData('weight');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getTypeId()
- {
- return $this->getData('type_id');
- }
-
- public function getAttributeSetId()
- {
- return $this->getData('attribute_set_id');
- }
-
- public function getCustomAttribute()
- {
- return $this->getData('custom_attribute');
- }
-
- public function getCustomOptions()
- {
- return $this->getData('custom_options');
- }
-
- public function getWebsiteIds()
- {
- return $this->getData('website_ids');
- }
-
- public function getIsReturnable()
- {
- return $this->getData('is_returnable');
- }
-
- public function getNewsFromDate()
- {
- return $this->getData('news_from_date');
- }
-
- public function getNewsToDate()
- {
- return $this->getData('news_to_date');
- }
-
- public function getStockData()
- {
- return $this->getData('stock_data');
- }
-
- public function getCheckoutData()
- {
- return $this->getData('checkout_data');
- }
-
- public function getCrossSellProducts()
- {
- return $this->getData('cross_sell_products');
- }
-
- public function getUpSellProducts()
- {
- return $this->getData('up_sell_products');
- }
-
- public function getRelatedProducts()
- {
- return $this->getData('related_products');
- }
-
- public function getIsVirtual()
- {
- return $this->getData('is_virtual');
- }
-
- public function getAttributes()
- {
- return $this->getData('attributes');
- }
-
- public function getFptData()
- {
- return $this->getData('fpt');
- }
-}
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
index 357e543078725..f24e386252451 100755
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.xml
@@ -5,484 +5,510 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Catalog
eav
catalog_product
simple
Magento\Catalog\Model\Resource\Product\Collection
sku
+ Magento\Catalog\Test\Repository\CatalogProductSimple
+ Magento\Catalog\Test\Handler\CatalogProductSimple\CatalogProductSimpleInterface
+
+ Test simple product %isolation%
+ test_simple_sku_%isolation%
+
+ - default
+
+
+ - 100.00
+
+ 12.00
+
+ - 10.00
+ - In Stock
+
+
+ - Main Website
+
+
+
+ - simple
+ -
+
- simple
+ - 4
+
+ - product
+
-
+
category_ids
static
0
-
+
text
product-details
-
-
+
+
color
int
0
-
+
select
-
-
+
+
country_of_manufacture
varchar
0
-
+
select
-
-
+
+
created_at
static
1
-
+
text
-
-
+
+
custom_design
varchar
0
-
+
select
-
-
+
+
custom_design_from
datetime
0
-
+
date
-
-
+
+
custom_design_to
datetime
0
-
+
date
-
-
+
+
custom_layout_update
text
0
-
+
textarea
-
-
+
+
description
text
0
-
+
textarea
product-details
-
-
+
+
gallery
varchar
0
-
+
gallery
-
-
+
+
gift_message_available
varchar
0
-
+
select
-
-
+
+
group_price
decimal
0
-
+
text
advanced-pricing
- Magento\Catalog\Test\Fixture\CatalogProductSimple\GroupPriceOptions
-
-
+
+
+
has_options
static
0
-
+
text
-
-
+
+
image
varchar
0
-
+
media_image
-
-
+
+
image_label
varchar
0
-
+
text
-
-
+
+
manufacturer
int
0
-
+
select
-
-
+
+
media_gallery
varchar
0
-
+
gallery
-
-
+
+
meta_description
varchar
0
-
+
search-engine-optimization
textarea
-
-
+
+
meta_keyword
text
0
-
+
search-engine-optimization
textarea
-
-
+
+
meta_title
varchar
0
-
+
search-engine-optimization
text
-
-
+
+
minimal_price
decimal
0
-
+
price
-
-
+
+
msrp
decimal
0
-
+
price
-
-
+
+
msrp_display_actual_price_type
varchar
0
- Use config
+
select
-
-
+
+
name
varchar
1
-
+ Test simple product %isolation%
text
product-details
-
-
- news_from_date
- datetime
- 0
-
- date
-
-
- news_to_date
- datetime
- 0
-
- date
-
-
+
+
old_id
int
0
-
+
text
-
-
+
+
options_container
varchar
0
- Block after Info Column
+
select
-
-
+
+
page_layout
varchar
0
-
+
select
-
-
+
+
price
decimal
1
-
+
+ - 100
+
price
product-details
- Magento\Catalog\Test\Fixture\CatalogProductSimple\Price
-
-
+
+
+
quantity_and_stock_status
- int
+ array
0
- In Stock
- select
+
+ - 10
+ - In Stock
+
+
product-details
-
-
+
+
required_options
static
0
-
+
text
-
-
+
+
sku
static
1
-
+ test_simple_sku_%isolation%
text
product-details
-
-
+
+
small_image
varchar
0
-
+
media_image
-
-
+
+
small_image_label
varchar
0
-
+
text
-
-
+
+
special_from_date
datetime
0
-
+
date
-
-
+
+
short_description
text
0
-
+
textarea
autosettings
-
-
+
+
special_price
decimal
0
-
+
price
advanced-pricing
-
-
+
+
special_to_date
datetime
0
-
+
date
-
-
+
+
status
int
0
- Product online
+ Product online
checkbox
product-details
-
-
+
+
tax_class_id
int
0
- Taxable Goods
+ Taxable Goods
select
-
product-details
-
-
+
+
+
thumbnail
varchar
0
-
+
media_image
-
-
+
+
thumbnail_label
varchar
0
-
+
text
-
-
+
+
tier_price
decimal
0
-
+
text
advanced-pricing
- Magento\Catalog\Test\Fixture\CatalogProductSimple\TierPriceOptions
-
-
+
+
+
updated_at
static
1
-
+
text
-
-
+
+
url_key
varchar
0
-
+
text
search-engine-optimization
-
-
+
+
url_path
varchar
0
-
+
text
-
-
+
+
visibility
int
0
- Catalog, Search
+ Catalog, Search
select
autosettings
-
-
+
+
weight
decimal
0
-
+ 12
weight
product-details
-
-
+
+
id
virtual
-
-
+ null
+
+
type_id
virtual
-
-
-
+
+
attribute_set_id
virtual
-
product-details
-
-
- attributes
+
+
+ - default
+
+
+
+ custom_attribute
virtual
product-details
-
-
+
+
custom_options
virtual
0
customer-options
- Magento\Catalog\Test\Fixture\CatalogProductSimple\CustomOptions
-
-
+
+
+
website_ids
virtual
- Main Website
+
+ - Main Website
+
websites
-
-
+
+
is_returnable
varchar
0
- 2
+
select
autosettings
-
-
+
+
+ news_from_date
+ datetime
+ 0
+
+ date
+
+
+
+ news_to_date
+ datetime
+ 0
+
+ date
+
+
+
stock_data
virtual
advanced-inventory
-
-
+
+
checkout_data
virtual
-
+ null
-
-
+
+
cross_sell_products
virtual
crosssells
-
-
+
+
up_sell_products
virtual
upsells
-
-
+
+
related_products
virtual
related-products
-
-
+
+
is_virtual
virtual
product-details
-
-
+
+
attributes
virtual
-
-
+
+
fpt
decimal
0
-
+
text
product-details
-
+
-
-
-
-
-
-
-
-
-
- simple
- 4
-
- product
-
- Magento\Catalog\Test\Repository\CatalogProductSimple
- Magento\Catalog\Test\Handler\CatalogProductSimple\CatalogProductSimpleInterface
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.php
deleted file mode 100644
index c7102655fe9b4..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.php
+++ /dev/null
@@ -1,831 +0,0 @@
- 'virtual',
- 'create_url_params' => [
- 'type' => 'virtual',
- 'set' => '4',
- ],
- 'input_prefix' => 'product',
- ];
-
- protected $defaultDataSet = [
- 'name' => 'Test virtual product %isolation%',
- 'sku' => 'sku_test_virtual_product_%isolation%',
- 'price' => ['value' => 100.00],
- 'quantity_and_stock_status' => [
- 'qty' => 10.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'is_virtual' => 'Yes',
- ];
-
- protected $is_virtual = [
- 'attribute_code' => 'is_virtual',
- 'backend_type' => 'virtual',
- 'group' => 'product-details',
- ];
-
- protected $category_ids = [
- 'attribute_code' => 'category_ids',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CategoryIds',
- 'group' => 'product-details',
- ];
-
- protected $color = [
- 'attribute_code' => 'color',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $country_of_manufacture = [
- 'attribute_code' => 'country_of_manufacture',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $custom_design = [
- 'attribute_code' => 'custom_design',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $custom_design_from = [
- 'attribute_code' => 'custom_design_from',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_design_to = [
- 'attribute_code' => 'custom_design_to',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_layout_update = [
- 'attribute_code' => 'custom_layout_update',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $description = [
- 'attribute_code' => 'description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- 'group' => 'product-details',
- ];
-
- protected $gallery = [
- 'attribute_code' => 'gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $gift_message_available = [
- 'attribute_code' => 'gift_message_available',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $group_price = [
- 'attribute_code' => 'group_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\GroupPriceOptions',
- ];
-
- protected $has_options = [
- 'attribute_code' => 'has_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $image = [
- 'attribute_code' => 'image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $image_label = [
- 'attribute_code' => 'image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $manufacturer = [
- 'attribute_code' => 'manufacturer',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $media_gallery = [
- 'attribute_code' => 'media_gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $meta_description = [
- 'attribute_code' => 'meta_description',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'group' => 'search-engine-optimization',
- 'input' => 'textarea',
- ];
-
- protected $meta_keyword = [
- 'attribute_code' => 'meta_keyword',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'group' => 'search-engine-optimization',
- 'input' => 'textarea',
- ];
-
- protected $meta_title = [
- 'attribute_code' => 'meta_title',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'group' => 'search-engine-optimization',
- 'input' => 'text',
- ];
-
- protected $minimal_price = [
- 'attribute_code' => 'minimal_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp = [
- 'attribute_code' => 'msrp',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp_display_actual_price_type = [
- 'attribute_code' => 'msrp_display_actual_price_type',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => 'Use config',
- 'input' => 'select',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $news_from_date = [
- 'attribute_code' => 'news_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $news_to_date = [
- 'attribute_code' => 'news_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $old_id = [
- 'attribute_code' => 'old_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $options_container = [
- 'attribute_code' => 'options_container',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => 'Block after Info Column',
- 'input' => 'select',
- ];
-
- protected $page_layout = [
- 'attribute_code' => 'page_layout',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $price = [
- 'attribute_code' => 'price',
- 'backend_type' => 'decimal',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\Price',
- ];
-
- protected $quantity_and_stock_status = [
- 'attribute_code' => 'quantity_and_stock_status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'In Stock',
- 'input' => 'select',
- 'group' => 'product-details',
- ];
-
- protected $required_options = [
- 'attribute_code' => 'required_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $sku = [
- 'attribute_code' => 'sku',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $small_image = [
- 'attribute_code' => 'small_image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $small_image_label = [
- 'attribute_code' => 'small_image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $special_from_date = [
- 'attribute_code' => 'special_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $short_description = [
- 'attribute_code' => 'short_description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- 'group' => 'autosettings',
- ];
-
- protected $special_price = [
- 'attribute_code' => 'special_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'advanced-pricing',
- ];
-
- protected $special_to_date = [
- 'attribute_code' => 'special_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $status = [
- 'attribute_code' => 'status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Product online',
- 'input' => 'checkbox',
- 'group' => 'product-details',
- ];
-
- protected $tax_class_id = [
- 'attribute_code' => 'tax_class_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Taxable Goods',
- 'input' => 'select',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TaxClass',
- ];
-
- protected $thumbnail = [
- 'attribute_code' => 'thumbnail',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $thumbnail_label = [
- 'attribute_code' => 'thumbnail_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $tier_price = [
- 'attribute_code' => 'tier_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TierPriceOptions',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $url_key = [
- 'attribute_code' => 'url_key',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'search-engine-optimization',
- ];
-
- protected $url_path = [
- 'attribute_code' => 'url_path',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $visibility = [
- 'attribute_code' => 'visibility',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Catalog, Search',
- 'input' => 'select',
- 'group' => 'autosettings',
- ];
-
- protected $weight = [
- 'attribute_code' => 'weight',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'weight',
- 'group' => 'product-details',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- ];
-
- protected $type_id = [
- 'attribute_code' => 'type_id',
- 'backend_type' => 'virtual',
- ];
-
- protected $attribute_set_id = [
- 'attribute_code' => 'attribute_set_id',
- 'backend_type' => 'virtual',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\AttributeSetId',
- ];
-
- protected $custom_options = [
- 'attribute_code' => 'custom_options',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'group' => 'customer-options',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CustomOptions',
- ];
-
- protected $website_ids = [
- 'attribute_code' => 'website_ids',
- 'backend_type' => 'virtual',
- 'default_value' => ['Main Website'],
- 'group' => 'websites',
- ];
-
- protected $checkout_data = [
- 'attribute_code' => 'checkout_data',
- 'backend_type' => 'virtual',
- 'group' => null,
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductVirtual\CheckoutData',
- ];
-
- public function getCategoryIds()
- {
- return $this->getData('category_ids');
- }
-
- public function getIsVirtual()
- {
- return $this->getData('is_virtual');
- }
-
- public function getColor()
- {
- return $this->getData('color');
- }
-
- public function getCountryOfManufacture()
- {
- return $this->getData('country_of_manufacture');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getCustomDesign()
- {
- return $this->getData('custom_design');
- }
-
- public function getCustomDesignFrom()
- {
- return $this->getData('custom_design_from');
- }
-
- public function getCustomDesignTo()
- {
- return $this->getData('custom_design_to');
- }
-
- public function getCustomLayoutUpdate()
- {
- return $this->getData('custom_layout_update');
- }
-
- public function getDescription()
- {
- return $this->getData('description');
- }
-
- public function getGallery()
- {
- return $this->getData('gallery');
- }
-
- public function getGiftMessageAvailable()
- {
- return $this->getData('gift_message_available');
- }
-
- public function getGroupPrice()
- {
- return $this->getData('group_price');
- }
-
- public function getHasOptions()
- {
- return $this->getData('has_options');
- }
-
- public function getImage()
- {
- return $this->getData('image');
- }
-
- public function getImageLabel()
- {
- return $this->getData('image_label');
- }
-
- public function getManufacturer()
- {
- return $this->getData('manufacturer');
- }
-
- public function getMediaGallery()
- {
- return $this->getData('media_gallery');
- }
-
- public function getMetaDescription()
- {
- return $this->getData('meta_description');
- }
-
- public function getMetaKeyword()
- {
- return $this->getData('meta_keyword');
- }
-
- public function getMetaTitle()
- {
- return $this->getData('meta_title');
- }
-
- public function getMinimalPrice()
- {
- return $this->getData('minimal_price');
- }
-
- public function getMsrp()
- {
- return $this->getData('msrp');
- }
-
- public function getMsrpDisplayActualPriceType()
- {
- return $this->getData('msrp_display_actual_price_type');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getNewsFromDate()
- {
- return $this->getData('news_from_date');
- }
-
- public function getNewsToDate()
- {
- return $this->getData('news_to_date');
- }
-
- public function getOldId()
- {
- return $this->getData('old_id');
- }
-
- public function getOptionsContainer()
- {
- return $this->getData('options_container');
- }
-
- public function getPageLayout()
- {
- return $this->getData('page_layout');
- }
-
- public function getPrice()
- {
- return $this->getData('price');
- }
-
- public function getQuantityAndStockStatus()
- {
- return $this->getData('quantity_and_stock_status');
- }
-
- public function getRequiredOptions()
- {
- return $this->getData('required_options');
- }
-
- public function getSku()
- {
- return $this->getData('sku');
- }
-
- public function getSmallImage()
- {
- return $this->getData('small_image');
- }
-
- public function getSmallImageLabel()
- {
- return $this->getData('small_image_label');
- }
-
- public function getSpecialFromDate()
- {
- return $this->getData('special_from_date');
- }
-
- public function getShortDescription()
- {
- return $this->getData('short_description');
- }
-
- public function getSpecialPrice()
- {
- return $this->getData('special_price');
- }
-
- public function getSpecialToDate()
- {
- return $this->getData('special_to_date');
- }
-
- public function getStatus()
- {
- return $this->getData('status');
- }
-
- public function getTaxClassId()
- {
- return $this->getData('tax_class_id');
- }
-
- public function getThumbnail()
- {
- return $this->getData('thumbnail');
- }
-
- public function getThumbnailLabel()
- {
- return $this->getData('thumbnail_label');
- }
-
- public function getTierPrice()
- {
- return $this->getData('tier_price');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-
- public function getUrlKey()
- {
- return $this->getData('url_key');
- }
-
- public function getUrlPath()
- {
- return $this->getData('url_path');
- }
-
- public function getVisibility()
- {
- return $this->getData('visibility');
- }
-
- public function getWeight()
- {
- return $this->getData('weight');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getTypeId()
- {
- return $this->getData('type_id');
- }
-
- public function getAttributeSetId()
- {
- return $this->getData('attribute_set_id');
- }
-
- public function getCustomOptions()
- {
- return $this->getData('custom_options');
- }
-
- public function getWebsiteIds()
- {
- return $this->getData('website_ids');
- }
-
- public function getCheckoutData()
- {
- return $this->getData('checkout_data');
- }
-}
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
index 0825d1d19c85f..30a872c70b94a 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.xml
@@ -5,434 +5,449 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Catalog
eav
catalog_product
virtual
Magento\Catalog\Model\Resource\Product\Collection
sku
+ Magento\Catalog\Test\Repository\CatalogProductVirtual
+ Magento\Catalog\Test\Handler\CatalogProductVirtual\CatalogProductVirtualInterface
+
+ Test virtual product %isolation%
+ test_virtual_sku_%isolation%
+
+ - 100.00
+
+
+ - 10.00
+ - In Stock
+
+ Yes
+
+
+ - virtual
+ -
+
- virtual
+ - 4
+
+ - product
+
-
+
+ is_virtual
+ virtual
+ product-details
+ Yes
+
+
category_ids
static
0
-
+
text
- Magento\Catalog\Test\Fixture\CatalogProductSimple\CategoryIds
+
product-details
-
-
+
+
color
int
0
-
+
select
-
-
+
+
country_of_manufacture
varchar
0
-
+
select
-
-
+
+
created_at
static
1
-
+
text
-
-
+
+
custom_design
varchar
0
-
+
select
-
-
+
+
custom_design_from
datetime
0
-
+
date
-
-
+
+
custom_design_to
datetime
0
-
+
date
-
-
+
+
custom_layout_update
text
0
-
+
textarea
-
-
+
+
description
text
0
-
+
textarea
product-details
-
-
+
+
gallery
varchar
0
-
+
gallery
-
-
+
+
gift_message_available
varchar
0
-
+
select
-
-
+
+
group_price
decimal
0
-
+
text
advanced-pricing
- Magento\Catalog\Test\Fixture\CatalogProductSimple\GroupPriceOptions
-
-
+
+
+
has_options
static
0
-
+
text
-
-
+
+
image
varchar
0
-
+
media_image
-
-
+
+
image_label
varchar
0
-
+
text
-
-
+
+
manufacturer
int
0
-
+
select
-
-
+
+
media_gallery
varchar
0
-
+
gallery
-
-
+
+
meta_description
varchar
0
-
+
search-engine-optimization
textarea
-
-
+
+
meta_keyword
text
0
-
+
search-engine-optimization
textarea
-
-
+
+
meta_title
varchar
0
-
+
search-engine-optimization
text
-
-
+
+
minimal_price
decimal
0
-
+
price
-
-
+
+
msrp
decimal
0
-
+
price
-
-
+
+
msrp_display_actual_price_type
varchar
0
- Use config
+ Use config
select
-
-
+
+
name
varchar
1
-
+ Test virtual product %isolation%
text
product-details
-
-
+
+
news_from_date
datetime
0
-
+
date
-
-
+
+
news_to_date
datetime
0
-
+
date
-
-
+
+
old_id
int
0
-
+
text
-
-
+
+
options_container
varchar
0
- Block after Info Column
+ Block after Info Column
select
-
-
+
+
page_layout
varchar
0
-
+
select
-
-
+
+
price
decimal
1
-
+
+ - 100
+
price
product-details
- Magento\Catalog\Test\Fixture\CatalogProductSimple\Price
-
-
+
+
+
quantity_and_stock_status
int
0
- In Stock
+
+ - 10
+ - In Stock
+
select
product-details
-
-
+
+
required_options
static
0
-
+
text
-
-
+
+
sku
static
1
-
+ sku_test_virtual_product_%isolation%
text
product-details
-
-
+
+
small_image
varchar
0
-
+
media_image
-
-
+
+
small_image_label
varchar
0
-
+
text
-
-
+
+
special_from_date
datetime
0
-
+
date
-
-
+
+
short_description
text
0
-
+
textarea
autosettings
-
-
+
+
special_price
decimal
0
-
+
price
advanced-pricing
-
-
+
+
special_to_date
datetime
0
-
+
date
-
-
+
+
status
int
0
- Product online
+ Product online
checkbox
product-details
-
-
+
+
tax_class_id
int
0
- Taxable Goods
+ Taxable Goods
select
product-details
-
-
+
+
+
thumbnail
varchar
0
-
+
media_image
-
-
+
+
thumbnail_label
varchar
0
-
+
text
-
-
+
+
tier_price
decimal
0
-
+
text
advanced-pricing
- Magento\Catalog\Test\Fixture\CatalogProductSimple\TierPriceOptions
-
-
+
+
+
updated_at
static
1
-
+
text
-
-
+
+
url_key
varchar
0
-
+
text
- autosettings
-
-
+ search-engine-optimization
+
+
url_path
varchar
0
-
+
text
-
-
+
+
visibility
int
0
- Catalog, Search
+ Catalog, Search
select
autosettings
-
-
+
+
weight
decimal
0
-
+
weight
product-details
-
-
+
+
id
virtual
-
-
- is_virtual
- virtual
-
-
+
+
type_id
virtual
-
-
+
+
attribute_set_id
virtual
-
product-details
-
-
+
+
+
custom_options
virtual
0
customer-options
- Magento\Catalog\Test\Fixture\CatalogProductSimple\CustomOptions
-
-
+
+
+
website_ids
virtual
- Main Website
+
+ - Main Website
+
websites
-
-
+
+
checkout_data
virtual
-
+ null
-
+
-
-
-
-
-
-
-
-
-
- virtual
-
-
- virtual
- 4
-
- product
-
- Magento\Catalog\Test\Repository\CatalogProductVirtual
- Magento\Catalog\Test\Handler\CatalogProductVirtual\CatalogProductVirtualInterface
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual/CheckoutData.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual/CheckoutData.php
index ce2d5ccf77921..bb1ba27ff3bcf 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual/CheckoutData.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual/CheckoutData.php
@@ -27,7 +27,7 @@ protected function getPreset($name)
'order_default' => [
'qty' => 1,
],
- '50_dollar_product' => [
+ 'product_50_dollar' => [
'qty' => 1,
'cartItem' => [
'price' => 50,
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.php
deleted file mode 100644
index c159bb8f73981..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.php
+++ /dev/null
@@ -1,362 +0,0 @@
- 'Category%isolation%',
- 'path' => 'Default Category',
- 'url_key' => 'category%isolation%',
- 'is_active' => 'Yes',
- 'include_in_menu' => 'Yes',
- 'parent_id' => 2,
- ];
-
- protected $entity_id = [
- 'attribute_code' => 'entity_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $entity_type_id = [
- 'attribute_code' => 'entity_type_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $attribute_set_id = [
- 'attribute_code' => 'attribute_set_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $description = [
- 'attribute_code' => 'description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- 'group' => 'general_information',
- ];
-
- protected $parent_id = [
- 'attribute_code' => 'parent_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => null,
- 'source' => 'Magento\Catalog\Test\Fixture\Category\ParentId',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $path = [
- 'attribute_code' => 'path',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'group' => null,
- 'input' => '',
- ];
-
- protected $position = [
- 'attribute_code' => 'position',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $level = [
- 'attribute_code' => 'level',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $children_count = [
- 'attribute_code' => 'children_count',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $available_product_listing_config = [
- 'attribute_code' => 'available_product_listing_config',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'group' => 'display_setting',
- 'input' => 'checkbox',
- ];
-
- protected $available_sort_by = [
- 'attribute_code' => 'available_sort_by',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'group' => 'display_setting',
- 'input' => 'multiselect',
- ];
-
- protected $default_product_listing_config = [
- 'attribute_code' => 'default_product_listing_config',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'group' => 'display_setting',
- 'input' => 'checkbox',
- ];
-
- protected $default_sort_by = [
- 'attribute_code' => 'default_sort_by',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'group' => 'display_setting',
- 'input' => 'select',
- ];
-
- protected $meta_title = [
- 'attribute_code' => 'meta_title',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'general_information',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- 'group' => null,
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'virtual',
- 'group' => 'general_information',
- ];
-
- protected $is_active = [
- 'attribute_code' => 'is_active',
- 'backend_type' => 'virtual',
- 'group' => 'general_information',
- ];
-
- protected $is_anchor = [
- 'attribute_code' => 'is_anchor',
- 'backend_type' => 'virtual',
- 'group' => 'display_setting',
- ];
-
- protected $url_key = [
- 'attribute_code' => 'url_key',
- 'backend_type' => 'virtual',
- 'group' => 'general_information',
- ];
-
- protected $include_in_menu = [
- 'attribute_code' => 'include_in_menu',
- 'backend_type' => 'virtual',
- 'group' => 'general_information',
- ];
-
- protected $landing_page = [
- 'attribute_code' => 'landing_page',
- 'backend_type' => 'virtual',
- 'input' => 'select',
- 'group' => 'display_setting',
- 'source' => '\Magento\Catalog\Test\Fixture\Category\LandingPage'
- ];
-
- protected $display_mode = [
- 'attribute_code' => 'display_mode',
- 'backend_type' => 'virtual',
- 'input' => 'select',
- 'group' => 'display_setting',
- ];
-
- protected $category_products = [
- 'attribute_code' => 'category_products',
- 'backend_type' => 'virtual',
- 'group' => 'category_products',
- 'source' => 'Magento\Catalog\Test\Fixture\Category\CategoryProducts',
- ];
-
- public function getEntityId()
- {
- return $this->getData('entity_id');
- }
-
- public function getEntityTypeId()
- {
- return $this->getData('entity_type_id');
- }
-
- public function getAttributeSetId()
- {
- return $this->getData('attribute_set_id');
- }
-
- public function getDescription()
- {
- return $this->getData('description');
- }
-
- public function getParentId()
- {
- return $this->getData('parent_id');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-
- public function getPath()
- {
- return $this->getData('path');
- }
-
- public function getPosition()
- {
- return $this->getData('position');
- }
-
- public function getLevel()
- {
- return $this->getData('level');
- }
-
- public function getChildrenCount()
- {
- return $this->getData('children_count');
- }
-
- public function getAvailableProductListingConfig()
- {
- return $this->getData('available_product_listing_config');
- }
-
- public function getAvailableSortBy()
- {
- return $this->getData('available_sort_by');
- }
-
- public function getDefaultProductListingConfig()
- {
- return $this->getData('default_product_listing_config');
- }
-
- public function getDefaultSortBy()
- {
- return $this->getData('default_sort_by');
- }
-
- public function getMetaTitle()
- {
- return $this->getData('meta_title');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getIsActive()
- {
- return $this->getData('is_active');
- }
-
- public function getIsAnchor()
- {
- return $this->getData('is_anchor');
- }
-
- public function getUrlKey()
- {
- return $this->getData('url_key');
- }
-
- public function getIncludeInMenu()
- {
- return $this->getData('include_in_menu');
- }
-
- public function getLandingPage()
- {
- return $this->getData('landing_page');
- }
-
- public function getDisplayMode()
- {
- return $this->getData('display_mode');
- }
-
- public function getCategoryProducts()
- {
- return $this->getData('category_products');
- }
-
- public function getBlockId()
- {
- return $this->getData('block_id');
- }
-}
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
index 31e03a3b2d259..b69d17a7c3231 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.xml
@@ -5,175 +5,198 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Catalog
eav
catalog_category_entity
Magento\Catalog\Model\Resource\Category\Collection
+ Magento\Catalog\Test\Repository\Category
+ Magento\Catalog\Test\Handler\Category\CategoryInterface
+
+ Category%isolation%
+ category%isolation%
+ Yes
+ Yes
+
+ - default_category
+
+
-
+
entity_id
int
1
-
-
-
-
+
+
+
+
entity_type_id
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
attribute_set_id
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
description
text
0
-
+
textarea
general_information
-
-
+
+
parent_id
int
-
- 0
+
+ 2
+
+ null
-
-
-
+
+
created_at
timestamp
-
-
-
-
-
+
+
+
+
+
updated_at
timestamp
-
-
-
-
-
+
+
+
+
+
path
varchar
-
-
-
-
-
+
+ Default Category
+ null
+
+
+
position
int
-
-
-
-
-
+
+
+
+
+
level
int
-
- 0
-
-
-
+
+ 0
+
+
+
children_count
int
-
-
-
-
-
+
+
+
+
+
available_product_listing_config
int
-
-
+
+
+ display_setting
checkbox
-
-
+
+
available_sort_by
varchar
0
-
+
+ display_setting
multiselect
-
-
+
+
default_product_listing_config
varchar
0
-
+
+ display_setting
checkbox
-
-
+
+
default_sort_by
varchar
0
-
+
+ display_setting
select
-
-
+
+
meta_title
text
-
-
-
+
+
+
general_information
-
-
+
+
id
virtual
-
-
+ null
+
+
name
virtual
general_information
-
-
+ Category%isolation%
+
+
is_active
virtual
general_information
-
-
+ Yes
+
+
is_anchor
virtual
display_setting
-
-
+
+
url_key
virtual
general_information
-
-
+ category%isolation%
+
+
include_in_menu
virtual
general_information
-
-
+ Yes
+
+
landing_page
virtual
select
display_setting
-
-
+
+
display_mode
virtual
select
display_setting
-
-
+
+
category_products
virtual
+ category_products
-
+
- Magento\Catalog\Test\Repository\Category
- Magento\Catalog\Test\Handler\Category\CategoryInterface
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Curl/CreateProduct.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Curl/CreateProduct.php
index 1205d69fa11a7..56db8d439a046 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Curl/CreateProduct.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Curl/CreateProduct.php
@@ -1,6 +1,5 @@
_data['default'] = [
- 'attribute_set_name' => 'Default',
- 'attribute_set_id' => 4,
- ];
-
- $this->_data['custom_attribute_set'] = [
- 'attribute_set_name' => 'Custom_attribute_set%isolation%',
- 'skeleton_set' => ['dataSet' => 'default'],
- ];
-
- $this->_data['custom_attribute_set_with_fpt'] = [
- 'attribute_set_name' => 'Custom_attribute_set%isolation%',
- 'skeleton_set' => ['dataSet' => 'default'],
- 'assigned_attributes' => [
- 'presets' => 'attribute_type_fpt',
- ],
- ];
- }
-}
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
new file mode 100644
index 0000000000000..4c36327a4f813
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogAttributeSet.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+ Default
+ 4
+
+
+
+ Custom_attribute_set%isolation%
+
+ - default
+
+
+
+
+ Custom_attribute_set%isolation%
+
+ - default
+
+
+ - attribute_type_fpt
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute.php
deleted file mode 100755
index 0c2747857573b..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute.php
+++ /dev/null
@@ -1,140 +0,0 @@
-_data['attribute_type_text_field'] = [
- 'frontend_label' => 'attribute_text%isolation%',
- 'attribute_code' => 'attribute_text%isolation%',
- 'frontend_input' => 'Text Field',
- 'is_required' => 'No',
- ];
-
- $this->_data['attribute_type_dropdown'] = [
- 'frontend_label' => 'attribute_dropdown%isolation%',
- 'attribute_code' => 'attribute_dropdown%isolation%',
- 'frontend_input' => 'Dropdown',
- 'is_required' => 'No',
- 'is_configurable' => 'Yes',
- 'options' => [
- [
- 'is_default' => 'Yes',
- 'admin' => 'black',
- 'view' => 'option_0_%isolation%',
- ],
- [
- 'is_default' => 'No',
- 'admin' => 'white',
- 'view' => 'option_1_%isolation%',
- ],
- [
- 'is_default' => 'No',
- 'admin' => 'green',
- 'view' => 'option_2_%isolation%',
- ],
- ],
- ];
-
- $this->_data['attribute_type_dropdown_two_options'] = [
- 'frontend_label' => 'attribute_dropdown%isolation%',
- 'attribute_code' => 'attribute_dropdown%isolation%',
- 'frontend_input' => 'Dropdown',
- 'is_required' => 'No',
- 'is_configurable' => 'Yes',
- 'options' => [
- [
- 'is_default' => 'Yes',
- 'admin' => 'black',
- 'view' => 'option_0_%isolation%',
- ],
- [
- 'is_default' => 'No',
- 'admin' => 'white',
- 'view' => 'option_1_%isolation%',
- ],
- ],
- ];
-
- $this->_data['attribute_type_dropdown_one_option'] = [
- 'frontend_label' => 'attribute_dropdown%isolation%',
- 'attribute_code' => 'attribute_dropdown%isolation%',
- 'frontend_input' => 'Dropdown',
- 'is_required' => 'No',
- 'is_configurable' => 'Yes',
- 'options' => [
- [
- 'is_default' => 'Yes',
- 'admin' => 'black',
- 'view' => 'option_0_%isolation%',
- ],
- ],
- ];
-
- $this->_data['color'] = [
- 'frontend_label' => 'color_%isolation%',
- 'attribute_code' => 'color_%isolation%',
- 'frontend_input' => 'Dropdown',
- 'is_required' => 'No',
- 'is_configurable' => 'Yes',
- 'options' => [
- [
- 'is_default' => 'Yes',
- 'admin' => 'black',
- 'view' => 'black_%isolation%',
- ],
- [
- 'is_default' => 'No',
- 'admin' => 'white',
- 'view' => 'white_%isolation%',
- ],
- ],
- ];
-
- $this->_data['size'] = [
- 'frontend_label' => 'size_%isolation%',
- 'attribute_code' => 'size_%isolation%',
- 'frontend_input' => 'Dropdown',
- 'is_required' => 'No',
- 'is_configurable' => 'Yes',
- 'options' => [
- [
- 'is_default' => 'Yes',
- 'admin' => 'xl',
- 'view' => 'xl_%isolation%',
- ],
- [
- 'is_default' => 'No',
- 'admin' => 'xxl',
- 'view' => 'xxl_%isolation%',
- ],
- ],
- ];
-
- $this->_data['attribute_type_fpt'] = [
- 'frontend_label' => 'fpt_%isolation%',
- 'frontend_input' => 'Fixed Product Tax',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..74294dba90c1e
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute.xml
@@ -0,0 +1,122 @@
+
+
+
+
+
+ attribute_text%isolation%
+ attribute_text%isolation%
+ Text Field
+ No
+
+
+
+ attribute_dropdown%isolation%
+ attribute_dropdown%isolation%
+ Dropdown
+ No
+ Yes
+
+ -
+
- Yes
+ - black
+ - option_0_%isolation%
+
+ -
+
- No
+ - white
+ - option_1_%isolation%
+
+ -
+
- No
+ - green
+ - option_2_%isolation%
+
+
+
+
+
+ attribute_dropdown%isolation%
+ attribute_dropdown%isolation%
+ Dropdown
+ No
+ Yes
+
+ -
+
- Yes
+ - black
+ - option_0_%isolation%
+
+ -
+
- No
+ - white
+ - option_1_%isolation%
+
+
+
+
+
+ attribute_dropdown%isolation%
+ attribute_dropdown%isolation%
+ Dropdown
+ No
+ Yes
+
+ -
+
- Yes
+ - black
+ - option_0_%isolation%
+
+
+
+
+
+ color_%isolation%
+ color_%isolation%
+ Dropdown
+ No
+ Yes
+
+ -
+
- Yes
+ - black
+ - black_%isolation%
+
+ -
+
- No
+ - white
+ - white_%isolation%
+
+
+
+
+
+ size_%isolation%
+ size_%isolation%
+ Dropdown
+ No
+ Yes
+
+ -
+
- Yes
+ - xl
+ - xl_%isolation%
+
+ -
+
- No
+ - xxl
+ - xxl_%isolation%
+
+
+
+
+
+ fpt_%isolation%
+ Fixed Product Tax
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple.php
deleted file mode 100755
index de287058e44a5..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple.php
+++ /dev/null
@@ -1,593 +0,0 @@
-_data['default'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'is_virtual' => 'No',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- 'checkout_data' => ['preset' => 'order_default'],
- ];
-
- $this->_data['product_with_url_key'] = [
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'is_virtual' => 'No',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'url_key' => 'simple-product-%isolation%',
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- 'checkout_data' => ['preset' => 'order_default'],
- ];
-
- $this->_data['simple_big_qty'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 1000.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- 'checkout_data' => ['preset' => 'order_big_qty'],
- ];
-
- $this->_data['simple_for_sales'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- 'checkout_data' => ['preset' => 'order_custom_price'],
- ];
-
- $this->_data['100_dollar_product'] = [
- 'sku' => '100_dollar_product%isolation%',
- 'name' => '100_dollar_product%isolation%',
- 'type_id' => 'simple',
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 1,
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'price' => ['value' => 100, 'preset' => '-'],
- 'website_ids' => ['Main Website'],
- 'checkout_data' => ['preset' => 'two_products']
- ];
-
- $this->_data['40_dollar_product'] = [
- 'sku' => '40_dollar_product%isolation%',
- 'name' => '40_dollar_product%isolation%',
- 'type_id' => 'simple',
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 1,
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'price' => ['value' => 40, 'preset' => '-'],
- 'mtf_dataset_name' => '40_dollar_product',
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['MAGETWO-23036'] = [
- 'sku' => 'MAGETWO-23036_%isolation%',
- 'name' => 'simple_with_category %isolation%',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'type_id' => 'simple',
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 1,
- 'price' => ['value' => 100, 'preset' => 'MAGETWO-23036'],
- 'category_ids' => ['presets' => 'default_subcategory'],
- 'mtf_dataset_name' => 'simple_with_category',
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['product_with_category'] = [
- 'sku' => 'simple_product_with_category_%isolation%',
- 'name' => 'Simple product with category %isolation%',
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 1,
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'price' => ['value' => 100, 'preset' => ''],
- 'category_ids' => ['presets' => 'default_subcategory'],
- 'website_ids' => ['Main Website'],
- 'mtf_dataset_name' => 'simple_with_category',
- ];
-
- $this->_data['simple_for_salesrule_1'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'type_id' => 'simple',
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 100, 'preset' => ''],
- 'weight' => 100,
- 'website_ids' => ['Main Website'],
- 'category_ids' => ['presets' => 'default_subcategory']
- ];
-
- $this->_data['simple_for_composite_products'] = [
- 'name' => 'simple_for_composite_products%isolation%',
- 'sku' => 'simple_for_composite_products%isolation%',
- 'price' => ['value' => 560, 'preset' => '-'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'quantity_and_stock_status' => [
- 'qty' => 111,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => '1',
- 'status' => '1',
- 'website_ids' => ['Main Website'],
- 'stock_data' => [
- 'manage_stock' => 'Yes',
- 'qty' => '111',
- 'is_in_stock' => 'In Stock'
- ],
- 'url_key' => 'simple-for-composite-products%isolation%',
- 'visibility' => 'Catalog, Search'
- ];
-
- $this->_data['simple_for_salesrule_2'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 50, 'preset' => ''],
- 'weight' => 50,
- 'website_ids' => ['Main Website'],
- 'category_ids' => ['presets' => 'default_subcategory']
- ];
-
- $this->_data['product_with_special_price_and_category'] = [
- 'sku' => 'simple_product_with_special_price_and_category%isolation%',
- 'name' => 'Simple product with special price and category %isolation%',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'price' => ['value' => 100, 'preset' => ''],
- 'special_price' => 90,
- 'category_ids' => ['presets' => 'default_subcategory'],
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['product_with_special_price'] = [
- 'sku' => 'simple_product_with_special_price_and_category%isolation%',
- 'name' => 'Simple with Special Price 1$ off %isolation%',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'price' => ['value' => 10, 'preset' => ''],
- 'special_price' => 9,
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['adc_123_simple_for_advancedsearch'] = [
- 'name' => 'adc_123_%isolation%',
- 'sku' => 'adc_123',
- 'price' => ['value' => 100.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'None'],
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 1.0000,
- 'description' => 'dfj_full
',
- 'status' => 'Product online',
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- ];
-
- $this->_data['product_with_weight_0_1'] = [
- 'name' => 'Simple with Weight 0.1 %isolation%',
- 'sku' => 'adc_123',
- 'price' => ['value' => 100.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'None'],
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 0.1,
- 'description' => 'Simple with Weight 0.1
',
- 'status' => 'Product online',
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- ];
-
- $this->_data['product_with_weight_150_1'] = [
- 'name' => 'Simple with Weight 150.1 %isolation%',
- 'sku' => 'adc_123',
- 'price' => ['value' => 100.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'None'],
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 150.1,
- 'description' => 'Simple with Weight 150.1
',
- 'status' => 'Product online',
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- ];
-
- $this->_data['abc_dfj_simple_for_advancedsearch'] = [
- 'name' => 'abc_dfj_%isolation%',
- 'sku' => 'abc_dfj',
- 'price' => ['value' => 50.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 1.0000,
- 'description' => 'adc_Full
',
- 'status' => 'Product online',
- 'short_description' => 'abc_short
',
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- ];
-
- $this->_data['100_dollar_product_for_tax_rule'] = [
- 'sku' => '100_dollar_product%isolation%',
- 'name' => '100_dollar_product%isolation%',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'type_id' => 'simple',
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 1,
- 'price' => ['value' => 100, 'preset' => '-'],
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['withSpecialPrice'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 100, 'preset' => '-'],
- 'weight' => 1,
- 'special_price' => 9
- ];
-
- $this->_data['simple_with_group_price'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 100, 'preset' => '-'],
- 'weight' => 1,
- 'group_price' => ['preset' => 'default'],
- ];
-
- $this->_data['simple_with_group_price_and_category'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 100, 'preset' => '-'],
- 'weight' => 1,
- 'group_price' => ['preset' => 'tax_calculation'],
- 'category_ids' => ['presets' => 'default_subcategory'],
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['simple_with_tier_price'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 300, 'preset' => '-'],
- 'weight' => 1,
- 'tier_price' => ['preset' => 'default'],
- ];
-
- $this->_data['simple_with_tier_price_and_category'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 300, 'preset' => '-'],
- 'weight' => 1,
- 'tier_price' => ['preset' => 'default'],
- 'category_ids' => ['presets' => 'default_subcategory'],
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['with_two_custom_option'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 300, 'preset' => '-'],
- 'weight' => 1,
- 'custom_options' => ['preset' => 'two_options'],
- 'checkout_data' => ['preset' => 'with_two_custom_option']
- ];
-
- $this->_data['with_one_custom_option_and_category'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 300, 'preset' => '-'],
- 'weight' => 1,
- 'custom_options' => ['preset' => 'drop_down_with_one_option_percent_price'],
- 'checkout_data' => ['preset' => 'drop_down_with_one_option_percent_price'],
- 'website_ids' => ['Main Website'],
- 'category_ids' => ['presets' => 'default_subcategory'],
- ];
-
- $this->_data['with_all_custom_option'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product With Custom Option %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 300, 'preset' => '-'],
- 'weight' => 1,
- 'custom_options' => ['preset' => 'all_types'],
- ];
-
- $this->_data['low_stock_product'] = [
- 'sku' => 'low_stock_product%isolation%',
- 'name' => 'low_stock_product%isolation%',
- 'type_id' => 'simple',
- 'quantity_and_stock_status' => [
- 'qty' => 1.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'stock_data' => [
- 'use_config_notify_stock_qty' => 'No',
- 'notify_stock_qty' => 2,
- ],
- 'weight' => 1,
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'price' => ['value' => 100, 'preset' => '-'],
- 'website_ids' => ['Main Website'],
- ];
-
- $this->_data['out_of_stock'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product out of stock %isolation%',
- 'sku' => 'sku_simple_product_out_of_stock%isolation%',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'Out of Stock',
- ],
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- 'checkout_data' => ['preset' => 'order_default'],
- ];
-
- $this->_data['offline'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product offline %isolation%',
- 'sku' => 'sku_simple_product_offline_%isolation%',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- 'checkout_data' => ['preset' => 'order_default'],
- 'status' => 'Product offline',
- ];
-
- $this->_data['not_visible_individually'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product not visible %isolation%',
- 'sku' => 'sku_simple_product_not_visible_%isolation%',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Not Visible Individually',
- 'checkout_data' => ['preset' => 'order_default'],
- ];
-
- $this->_data['simple_with_cart_limits'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product with cart limit %isolation%',
- 'sku' => 'sku_simple_product_with_cart_limit_%isolation%',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- 'checkout_data' => ['preset' => 'order_default'],
- 'stock_data' => [
- 'min_sale_qty' => '2',
- 'max_sale_qty' => '5',
- ],
- ];
-
- $this->_data['with_one_custom_option'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 300, 'preset' => '-'],
- 'weight' => 1,
- 'custom_options' => ['preset' => 'drop_down_with_one_option_percent_price'],
- 'checkout_data' => ['preset' => 'drop_down_with_one_option_percent_price'],
- 'website_ids' => ['Main Website']
- ];
-
- $this->_data['simple_with_qty_increments'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product with qty increments %isolation%',
- 'sku' => 'sku_simple_product_with_qty_increments_%isolation%',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- 'checkout_data' => ['preset' => 'order_default'],
- 'stock_data' => [
- 'enable_qty_increments' => 'Yes',
- 'qty_increments' => '2',
- ],
- ];
-
- $this->_data['simple_with_tier_price_and_qty'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 300, 'preset' => '-'],
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'tier_price' => ['preset' => 'default'],
- 'website_ids' => ['Main Website']
- ];
-
- $this->_data['with_msrp'] = [
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product with msrp %isolation%',
- 'sku' => 'sku_simple_product_with_msrp_%isolation%',
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'qty' => 25.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 560.00, 'preset' => '-'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'website_ids' => ['Main Website'],
- 'visibility' => 'Catalog, Search',
- 'checkout_data' => ['preset' => 'order_default'],
- 'msrp' => 600.00,
- 'msrp_display_actual_price_type' => 'Before Order Confirmation'
- ];
-
- $this->_data['with_one_custom_option_and_category'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Simple Product %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 300, 'preset' => '-'],
- 'weight' => 1,
- 'custom_options' => ['preset' => 'drop_down_with_one_option_percent_price'],
- 'checkout_data' => ['preset' => 'drop_down_with_one_option_percent_price'],
- 'website_ids' => ['Main Website'],
- 'category_ids' => ['presets' => 'default_subcategory'],
- ];
-
- $this->_data['product_with_category_with_anchor'] = [
- 'sku' => 'simple_product_with_category_%isolation%',
- 'name' => 'Simple product with category %isolation%',
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'weight' => 1,
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'price' => ['value' => 100, 'preset' => ''],
- 'category_ids' => ['presets' => 'default_anchor_subcategory'],
- 'website_ids' => ['Main Website'],
- 'mtf_dataset_name' => 'simple_with_category',
- ];
-
- $this->_data['with_custom_option_and_fpt'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'category_ids' => ['presets' => 'default_subcategory'],
- 'website_ids' => ['Main Website'],
- 'name' => 'Simple Product With Fpt %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 70, 'preset' => '-'],
- 'weight' => 1,
- 'custom_options' => ['preset' => 'drop_down_with_one_option_fixed_price'],
- 'checkout_data' => ['preset' => 'drop_down_with_one_option_fixed_price'],
- 'fpt' => ['preset' => 'one_fpt_for_all_states']
- ];
-
- $this->_data['with_special_price_and_fpt'] = [
- 'type_id' => 'simple',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'category_ids' => ['presets' => 'default_subcategory'],
- 'website_ids' => ['Main Website'],
- 'name' => 'Simple Product With Fpt %isolation%',
- 'sku' => 'sku_simple_product_%isolation%',
- 'price' => ['value' => 110, 'preset' => '-'],
- 'special_price' => 100,
- 'weight' => 1,
- 'fpt' => ['preset' => 'one_fpt_for_all_states']
- ];
- }
-}
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
new file mode 100644
index 0000000000000..03d8f449d9343
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple.xml
@@ -0,0 +1,948 @@
+
+
+
+
+
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+ No
+ 1
+
+ - 25
+ - In Stock
+
+
+ - 560
+ - -
+
+
+ - taxable_goods
+
+
+ - Main Website
+
+ Catalog, Search
+ simple-product-%isolation%
+
+ - order_default
+
+
+
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+ No
+ 1
+
+ - 25
+ - In Stock
+
+ simple-product-%isolation%
+
+ - 560
+ - -
+
+
+ - Main Website
+
+ Catalog, Search
+
+ - order_default
+
+
+
+
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+ 1
+
+ - 1000
+ - In Stock
+
+
+ - 560
+ - -
+
+
+ - taxable_goods
+
+
+ - Main Website
+
+ Catalog, Search
+ simple-product-%isolation%
+
+ - order_big_qty
+
+
+
+
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+ 1
+
+ - 25
+ - In Stock
+
+
+ - 560
+ - -
+
+
+ - taxable_goods
+
+
+ - Main Website
+
+ Catalog, Search
+ simple-product-%isolation%
+
+ - order_custom_price
+
+
+
+
+ product_100_dollar%isolation%
+ product_100_dollar%isolation%
+ simple
+
+ - 666.0000
+ - In Stock
+
+ 1
+
+ - default
+
+
+ - 100
+ - -
+
+
+ - Main Website
+
+ simple-product-%isolation%
+
+ - two_products
+
+
+
+
+ product_40_dollar%isolation%
+ product_40_dollar%isolation%
+ simple
+
+ - 666
+ - In Stock
+
+ 1
+
+ - default
+
+
+ - 40
+ - -
+
+ product_40_dollar
+ simple-product-%isolation%
+
+ - Main Website
+
+
+
+
+ MAGETWO-23036_%isolation%
+ simple_with_category %isolation%
+
+ - default
+
+ simple
+
+ - 666
+ - In Stock
+
+ 1
+
+ - 100
+ - MAGETWO-23036
+
+
+ - default_subcategory
+
+ simple_with_category
+
+ - Main Website
+
+ simple-product-%isolation%
+
+
+
+ simple_product_with_category_%isolation%
+ Simple product with category %isolation%
+
+ - 666
+ - In Stock
+
+ 1
+
+ - default
+
+
+ - 100
+
+
+
+ - default_subcategory
+
+
+ - Main Website
+
+ simple_with_category
+ simple-product-%isolation%
+
+
+
+
+ - default
+
+ simple
+
+ - 666
+ - In Stock
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 100
+
+
+ 100
+
+ - Main W"e
+
+ simple-product-%isolation%
+
+ - default_subcategory
+
+
+
+
+ simple_for_composite_products%isolation%
+ simple_for_composite_products%isolation%
+
+ - 560
+ - -
+
+
+ - default
+
+
+ - taxable_goods
+
+
+ - 111
+ - In Stock
+
+ 1
+ 1
+
+ - Main Website
+
+
+ - Yes
+ - 111
+ - In Stock
+
+ simple-for-composite-products%isolation%
+ Catalog, Search
+
+
+
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 50
+
+
+ 50
+
+ - Main Website
+
+ simple-product-%isolation%
+
+ - default_subcategory
+
+
+
+
+ simple_product_with_special_price_and_category%isolation%
+ Simple product with special price and category %isolation%
+
+ - default
+
+
+ - 100
+
+
+ 90
+
+ - default_subcategory
+
+
+ - Main Website
+
+ simple-product-%isolation%
+
+
+
+ simple_product_with_special_price_and_category%isolation%
+ Simple with Special Price 1$ off %isolation%
+
+ - default
+
+
+ - 10
+
+
+ 9
+
+ - Main Website
+
+ simple-product-%isolation%
+
+
+
+ adc_123_%isolation%
+ adc_123
+
+ - 100
+ - -
+
+
+ - None
+
+
+ - 666
+ - In Stock
+
+ 1
+ <p>dfj_full</p>
+ Product online
+
+ - Main Website
+
+ Catalog, Search
+ simple-product-%isolation%
+
+
+
+ Simple with Weight 0.1 %isolation%
+ adc_123
+
+ - 100
+ - -
+
+
+ - None
+
+
+ - 666
+ - In Stock
+
+ 0.1
+ <p>Simple with Weight 0.1</p>
+ Product online
+
+ - Main Website
+
+ Catalog, Search
+ simple-product-%isolation%
+
+
+
+ Simple with Weight 150.1 %isolation%
+ adc_123
+
+ - 100
+ - -
+
+
+ - None
+
+
+ - 666
+ - In Stock
+
+ 150.1
+ <p>Simple with Weight 150.1</p>
+ Product online
+
+ - Main Website
+
+ Catalog, Search
+ simple-product-%isolation%
+
+
+
+ abc_dfj_%isolation%
+ abc_dfj
+
+ - 50
+ - -
+
+
+ - taxable_goods
+
+
+ - 666
+ - In Stock
+
+ 1
+ <p>adc_Full</p>
+ Product online
+ <p>abc_short</p>
+
+ - Main Website
+
+ Catalog, Search
+ simple-product-%isolation%
+
+
+
+ product_100_dollar%isolation%
+ product_100_dollar%isolation%
+
+ - default
+
+ simple
+
+ - 25
+ - In Stock
+
+ 1
+
+ - 100
+ - -
+
+
+ - Main Website
+
+ simple-product-%isolation%
+
+
+
+ simple
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 100
+ - -
+
+ 1
+ simple-product-%isolation%
+ 9
+
+
+
+ simple
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 100
+ - -
+
+ 1
+
+ - default
+
+ simple-product-%isolation%
+
+
+
+ simple
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 100
+ - -
+
+ 1
+
+ - tax_calculation
+
+
+ - default_subcategory
+
+
+ - Main Website
+
+ simple-product-%isolation%
+
+
+
+ simple
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 300
+ - -
+
+ 1
+
+ - default
+
+ simple-product-%isolation%
+
+
+
+ simple
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 300
+ - -
+
+ 1
+
+ - default
+
+
+ - default_subcategory
+
+
+ - Main Website
+
+ simple-product-%isolation%
+
+
+
+ simple
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 300
+ - -
+
+ 1
+
+ - two_options
+
+ simple-product-%isolation%
+
+ - with_two_custom_option
+
+
+
+
+ simple
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 300
+ - -
+
+ 1
+
+ - drop_down_with_one_option_percent_price
+
+
+ - drop_down_with_one_option_percent_price
+
+
+ - Main Website
+
+
+ - default_subcategory
+
+ simple-product-%isolation%
+
+
+
+ simple
+
+ - default
+
+ Simple Product With Custom Option %isolation%
+ sku_simple_product_%isolation%
+
+ - 300
+ - -
+
+ 1
+ simple-product-%isolation%
+
+ - all_types
+
+
+
+
+ low_stock_product%isolation%
+ low_stock_product%isolation%
+ simple
+
+ - 1
+ - In Stock
+
+
+ - No
+ - 2
+
+ 1
+
+ - default
+
+
+ - 100
+ - -
+
+
+ - Main Website
+
+ simple-product-%isolation%
+
+
+
+
+ - default
+
+ Simple Product out of stock %isolation%
+ sku_simple_product_out_of_stock%isolation%
+ 1
+
+ - 25
+ - Out of Stock
+
+
+ - 560
+ - -
+
+
+ - taxable_goods
+
+
+ - Main Website
+
+ Catalog, Search
+
+ - order_default
+
+ simple-product-%isolation%
+
+
+
+
+ - default
+
+ Simple Product offline %isolation%
+ sku_simple_product_offline_%isolation%
+ 1
+
+ - 25
+ - In Stock
+
+
+ - 560
+ - -
+
+
+ - taxable_goods
+
+
+ - Main Website
+
+ Catalog, Search
+
+ - order_default
+
+ Product offline
+ simple-product-%isolation%
+
+
+
+
+ - default
+
+ Simple Product not visible %isolation%
+ sku_simple_product_not_visible_%isolation%
+ 1
+
+ - 25
+ - In Stock
+
+
+ - 560
+ - -
+
+
+ - taxable_goods
+
+
+ - Main Website
+
+ Not Visible Individually
+
+ - order_default
+
+ simple-product-%isolation%
+
+
+
+
+ - default
+
+ Simple Product with cart limit %isolation%
+ sku_simple_product_with_cart_limit_%isolation%
+ 1
+
+ - 25
+ - In Stock
+
+
+ - 560
+ - -
+
+
+ - taxable_goods
+
+
+ - Main Website
+
+ Catalog, Search
+
+ - order_default
+
+
+ - 2
+ - 5
+
+ simple-product-%isolation%
+
+
+
+ simple
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 300
+ - -
+
+ 1
+
+ - drop_down_with_one_option_percent_price
+
+
+ - drop_down_with_one_option_percent_price
+
+ simple-product-%isolation%
+
+ - Main Website
+
+
+
+
+
+ - default
+
+ Simple Product with qty increments %isolation%
+ sku_simple_product_with_qty_increments_%isolation%
+ 1
+
+ - 25
+ - In Stock
+
+
+ - 560
+ - -
+
+
+ - taxable_goods
+
+
+ - Main Website
+
+ Catalog, Search
+
+ - order_default
+
+
+ - Yes
+ - 2
+
+ simple-product-%isolation%
+
+
+
+ simple
+
+ - default
+
+ Simple Product %isolation%
+ sku_simple_product_%isolation%
+
+ - 300
+ - -
+
+ 1
+
+ - 25
+ - In Stock
+
+ simple-product-%isolation%
+
+ - default
+
+
+ - Main Website
+
+
+
+
+
+ - default
+
+ Simple Product with msrp %isolation%
+ sku_simple_product_with_msrp_%isolation%
+ 1
+
+ - 25
+ - In Stock
+
+
+ - 560
+ - -
+
+
+ - taxable_goods
+
+
+ - Main Website
+
+ Catalog, Search
+
+ - order_default
+
+ 600
+ Before Order Confirmation
+
+
+
+ simple_product_with_category_%isolation%
+ Simple product with category %isolation%
+
+ - 666
+ - In Stock
+
+ 1
+
+ - default
+
+
+ - 100
+
+
+
+ - default_anchor_subcategory
+
+
+ - Main Website
+
+ simple_with_category
+ simple-product-%isolation%
+
+
+
+ simple
+
+ - default
+
+
+ - default_subcategory
+
+
+ - Main Website
+
+ Simple Product With Fpt %isolation%
+ sku_simple_product_%isolation%
+
+ - 70
+ - -
+
+ 1
+
+ - drop_down_with_one_option_fixed_price
+
+
+ - drop_down_with_one_option_fixed_price
+
+ simple-product-%isolation%
+
+ - one_fpt_for_all_states
+
+
+
+
+ simple
+
+ - default
+
+
+ - default_subcategory
+
+
+ - Main Website
+
+ Simple Product With Fpt %isolation%
+ sku_simple_product_%isolation%
+
+ - 110
+ - -
+
+ 100
+ 1
+ simple-product-%isolation%
+
+ - one_fpt_for_all_states
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual.php
deleted file mode 100644
index d62d7b3ddb5aa..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual.php
+++ /dev/null
@@ -1,99 +0,0 @@
-_data['default'] = [
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'status' => 'Product online',
- 'website_ids' => ['Main Website'],
- 'is_virtual' => 'Yes',
- 'url_key' => 'virtual-product%isolation%',
- 'visibility' => 'Catalog, Search',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Virtual product %isolation%',
- 'sku' => 'sku_virtual_product_%isolation%',
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 10.00, 'preset' => '-'],
- 'checkout_data' => ['preset' => 'order_default'],
- ];
-
- $this->_data['virtual_big_qty'] = [
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'status' => 'Product online',
- 'website_ids' => ['Main Website'],
- 'is_virtual' => 'Yes',
- 'url_key' => 'virtual-product%isolation%',
- 'visibility' => 'Catalog, Search',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Virtual product %isolation%',
- 'sku' => 'sku_virtual_product_%isolation%',
- 'quantity_and_stock_status' => [
- 'qty' => 1000.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 10.00, 'preset' => '-'],
- 'checkout_data' => ['preset' => 'order_big_qty'],
- ];
-
- $this->_data['virtual_for_sales'] = [
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'status' => 'Product online',
- 'website_ids' => ['Main Website'],
- 'is_virtual' => 'Yes',
- 'url_key' => 'virtual-product%isolation%',
- 'visibility' => 'Catalog, Search',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'name' => 'Virtual product %isolation%',
- 'sku' => 'sku_virtual_product_%isolation%',
- 'quantity_and_stock_status' => [
- 'qty' => 666.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 10.00, 'preset' => '-'],
- 'checkout_data' => ['preset' => 'order_custom_price'],
- ];
-
- $this->_data['50_dollar_product'] = [
- 'name' => '50_dollar_product %isolation%',
- 'sku' => '50_dollar_product_%isolation%',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'status' => 'Product online',
- 'website_ids' => ['Main Website'],
- 'is_virtual' => 'Yes',
- 'url_key' => 'virtual-product%isolation%',
- 'visibility' => 'Catalog, Search',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'quantity_and_stock_status' => [
- 'qty' => 111.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'price' => ['value' => 50.00, 'preset' => '-'],
- 'checkout_data' => ['preset' => '50_dollar_product'],
- ];
- }
-}
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
new file mode 100644
index 0000000000000..6d8121608c524
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual.xml
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+ - taxable_goods
+
+ Product online
+
+ - Main Website
+
+ Yes
+ virtual-product%isolation%
+ Catalog, Search
+
+ - default
+
+ Virtual product %isolation%
+ sku_virtual_product_%isolation%
+
+ - 666
+ - In Stock
+
+
+ - 10
+ - -
+
+
+ - order_default
+
+
+
+
+
+ - taxable_goods
+
+ Product online
+
+ - Main Website
+
+ Yes
+ virtual-product%isolation%
+ Catalog, Search
+
+ - default
+
+ Virtual product %isolation%
+ sku_virtual_product_%isolation%
+
+ - 1000
+ - In Stock
+
+
+ - 10
+ - -
+
+
+ - order_big_qty
+
+
+
+
+
+ - taxable_goods
+
+ Product online
+
+ - Main Website
+
+ Yes
+ virtual-product%isolation%
+ Catalog, Search
+
+ - default
+
+ Virtual product %isolation%
+ sku_virtual_product_%isolation%
+
+ - 666
+ - In Stock
+
+
+ - 10
+ - -
+
+
+ - order_custom_price
+
+
+
+
+ product_50_dollar %isolation%
+ product_50_dollar_%isolation%
+
+ - taxable_goods
+
+ Product online
+
+ - Main Website
+
+ Yes
+ virtual-product%isolation%
+ Catalog, Search
+
+ - default
+
+
+ - 111
+ - In Stock
+
+
+ - 50
+ - -
+
+
+ - product_50_dollar
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Category.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Category.php
deleted file mode 100644
index 61b458e067e50..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Category.php
+++ /dev/null
@@ -1,66 +0,0 @@
-_data['default_category'] = [
- 'name' => 'Default Category',
- 'parent_id' => 1,
- 'is_active' => 'Yes',
- 'id' => 2,
- ];
-
- $this->_data['default_subcategory'] = [
- 'name' => 'DefaultSubcategory%isolation%',
- 'url_key' => 'default-subcategory-%isolation%',
- 'parent_id' => ['dataSet' => 'default_category'],
- 'is_active' => 'Yes',
- 'include_in_menu' => 'Yes',
- ];
-
- $this->_data['default_anchor_subcategory'] = [
- 'name' => 'DefaultSubcategory%isolation%',
- 'url_key' => 'default-subcategory-%isolation%',
- 'parent_id' => ['dataSet' => 'default_category'],
- 'is_active' => 'Yes',
- 'is_anchor' => 'Yes',
- 'include_in_menu' => 'Yes',
- ];
-
- $this->_data['root_category'] = [
- 'name' => 'RootCategory%isolation%',
- 'url_key' => 'root-category-%isolation%',
- 'parent_id' => 1,
- 'is_active' => 'Yes',
- 'include_in_menu' => 'Yes',
- ];
-
- $this->_data['root_subcategory'] = [
- 'name' => 'RootSubCategory%isolation%',
- 'url_key' => 'root-sub-category-%isolation%',
- 'parent_id' => ['dataSet' => 'root_category'],
- 'is_active' => 'Yes',
- 'include_in_menu' => 'Yes',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..ec4dc51b4d511
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Category.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+ Default Category
+ 1
+ Yes
+ 2
+
+
+
+ DefaultSubcategory%isolation%
+ default-subcategory-%isolation%
+
+ - default_category
+
+ Yes
+ Yes
+
+
+
+ DefaultSubcategory%isolation%
+ default-subcategory-%isolation%
+
+ - default_category
+
+ Yes
+ Yes
+ Yes
+
+
+
+ RootCategory%isolation%
+ root-category-%isolation%
+ 1
+ Yes
+ Yes
+
+
+
+ RootSubCategory%isolation%
+ root-sub-category-%isolation%
+
+ - root_category
+
+ Yes
+ Yes
+
+
+
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
index 85496befeb3a3..e6bafe0e25615 100644
--- 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
@@ -70,7 +70,6 @@ public function __inject(CatalogCategoryIndex $catalogCategoryIndex, CatalogCate
*/
public function test(Category $category)
{
- $this->markTestIncomplete('MAGETWO-31723');
$category->persist();
$this->catalogCategoryIndex->open();
$this->catalogCategoryIndex->getTreeCategories()->selectCategory($category);
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest/test.csv
index 0be231009ddca..a1c50cd3e8f42 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest/test.csv
@@ -1,4 +1,4 @@
-"category/data/name";"category/data/is_active";"category/data/url_key";"category/data/description";"category/data/meta_title";"category/data/include_in_menu";"category/data/available_product_listing_config";"category/data/available_sort_by/sort_2";"category/data/available_sort_by/sort_1";"category/data/default_product_listing_config";"category/data/default_sort_by";"constraint"
-"Name%isolation%";"Yes";"UrlKey%isolation%";"-";"-";"Yes";"Yes";"-";"-";"No";"Name";"assertCategorySaveMessage, assertCategoryForm, assertUrlRewriteCategoryInGrid, assertCategoryRedirect, assertCategoryPage"
-"Name%isolation%";"Yes";"UrlKey%isolation%";"Category Description";"Category Title";"Yes";"No";"Position";"Price";"Yes";"-";"assertCategorySaveMessage, assertCategoryForm, assertUrlRewriteCategoryInGrid, assertCategoryPage"
-"Name%isolation%";"No";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertCategorySaveMessage, assertCategoryForm"
+"category/data/parent_id/dataSet";"category/data/name";"category/data/is_active";"category/data/url_key";"category/data/description";"category/data/meta_title";"category/data/include_in_menu";"category/data/available_product_listing_config";"category/data/available_sort_by/sort_2";"category/data/available_sort_by/sort_1";"category/data/default_product_listing_config";"category/data/default_sort_by";"constraint"
+"default_category";"Name%isolation%";"Yes";"UrlKey%isolation%";"-";"-";"Yes";"Yes";"-";"-";"No";"Name";"assertCategorySaveMessage, assertCategoryForm, assertUrlRewriteCategoryInGrid, assertCategoryRedirect, assertCategoryPage"
+"default_category";"Name%isolation%";"Yes";"UrlKey%isolation%";"Category Description";"Category Title";"Yes";"No";"Position";"Price";"Yes";"-";"assertCategorySaveMessage, assertCategoryForm, assertUrlRewriteCategoryInGrid, assertCategoryPage"
+"default_category";"Name%isolation%";"No";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertCategorySaveMessage, assertCategoryForm"
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest/testCreate.csv b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest/testCreate.csv
index bcce9e2518fce..9ddc8f5a79c00 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest/testCreate.csv
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest/testCreate.csv
@@ -1,19 +1,19 @@
-"product/data/name";"product/data/sku";"product/data/tax_class_id/dataSet";"product/data/price/value";"product/data/special_price";"product/data/short_description";"product/data/description";"product/data/weight";"product/data/quantity_and_stock_status/qty";"product/data/quantity_and_stock_status/is_in_stock";"product/data/visibility";"product/data/custom_options/preset";"product/data/checkout_data/preset";"product/data/custom_options/import_products";"product/data/price/preset";"product/data/group_price/preset";"product/data/tier_price/preset";"constraint"
-"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";"drop_down_with_one_option_fixed_price";"-";"drop_down_with_one_option_fixed_price";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
-"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";"drop_down_with_one_option_percent_price";"-";"drop_down_with_one_option_percent_price";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
-"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";"drop_down_with_one_option_fixed_price";"-";"MAGETWO-23029";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
-"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";"drop_down_with_one_option_percent_price";"-";"MAGETWO-23030";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
-"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";"drop_down_with_one_option_percent_price";"-";"MAGETWO-23030";"MAGETWO-23055";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
-"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";"drop_down_with_one_option_fixed_price";"-";"MAGETWO-23029";"MAGETWO-23055";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
-"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";"drop_down_with_one_option_percent_price";"-";"MAGETWO-23030";"-";"MAGETWO-23002";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
-"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";"drop_down_with_one_option_fixed_price";"-";"MAGETWO-23029";"-";"MAGETWO-23002";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
-"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10008";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"58";"665";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductVisibleInCategory, assertProductPage"
-"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10009";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"59";"75";"In Stock";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInStock"
-"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10010";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"60";"0";"Out of Stock";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductOutOfStock"
-"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10011";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"61";"138";"-";"Search";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductSearchableBySku"
-"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10012";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"62";"139";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductSearchableBySku, assertProductPage"
-"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10013";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"63";"140";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage"
-"Simple Product %isolation%";"simple_sku_%isolation%";"Taxable Goods";"10014";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"64";"141";"-";"-";"-";"-";"-";"-";"default";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage, assertProductGroupedPriceOnProductPage"
-"Simple Product %isolation%";"simple_sku_%isolation%";"Taxable Goods";"10015";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"65";"142";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage, assertProductSpecialPriceOnProductPage"
-"Simple Product %isolation%";"simple_sku_%isolation%";"None";"10016";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"66";"143";"-";"-";"-";"-";"-";"-";"-";"default";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage, assertProductTierPriceOnProductPage"
-"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10017";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"67";"144";"-";"-";"options-suite";"options-suite";"catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage, assertProductCustomOptionsOnProductPage"
+"product/data/url_key";"product/data/name";"product/data/sku";"product/data/tax_class_id/dataSet";"product/data/price/value";"product/data/special_price";"product/data/short_description";"product/data/description";"product/data/weight";"product/data/quantity_and_stock_status/qty";"product/data/quantity_and_stock_status/is_in_stock";"product/data/visibility";"product/data/custom_options/preset";"product/data/checkout_data/preset";"product/data/custom_options/import_products";"product/data/price/preset";"product/data/group_price/preset";"product/data/tier_price/preset";"constraint"
+"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";"drop_down_with_one_option_fixed_price";"-";"drop_down_with_one_option_fixed_price";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
+"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";"drop_down_with_one_option_percent_price";"-";"drop_down_with_one_option_percent_price";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
+"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";"drop_down_with_one_option_fixed_price";"-";"MAGETWO-23029";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
+"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";"drop_down_with_one_option_percent_price";"-";"MAGETWO-23030";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
+"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";"drop_down_with_one_option_percent_price";"-";"MAGETWO-23030";"MAGETWO-23055";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
+"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";"drop_down_with_one_option_fixed_price";"-";"MAGETWO-23029";"MAGETWO-23055";"-";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
+"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";"drop_down_with_one_option_percent_price";"-";"MAGETWO-23030";"-";"MAGETWO-23002";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
+"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";"drop_down_with_one_option_fixed_price";"-";"MAGETWO-23029";"-";"MAGETWO-23002";"assertProductSaveMessage, assertProductInGrid, assertProductInCategory, assertProductPage, assertProductInCart"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10008";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"58";"665";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductVisibleInCategory, assertProductPage"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10009";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"59";"75";"In Stock";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInStock"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10010";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"60";"0";"Out of Stock";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductOutOfStock"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10011";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"61";"138";"-";"Search";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductSearchableBySku"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10012";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"62";"139";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductSearchableBySku, assertProductPage"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10013";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"63";"140";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"taxable_goods";"10014";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"64";"141";"-";"-";"-";"-";"-";"-";"default";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage, assertProductGroupedPriceOnProductPage"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"taxable_goods";"10015";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"65";"142";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage, assertProductSpecialPriceOnProductPage"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"None";"10016";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"66";"143";"-";"-";"-";"-";"-";"-";"-";"default";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage, assertProductTierPriceOnProductPage"
+"simple-product-%isolation%";"Simple Product %isolation%";"simple_sku_%isolation%";"-";"10017";"-";"Simple Product short_description %isolation%";"Simple Product description %isolation%";"67";"144";"-";"-";"options-suite";"options-suite";"catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage, assertProductCustomOptionsOnProductPage"
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest/testCreate.csv b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest/testCreate.csv
index cbc73ef8063d8..721e089ac971b 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest/testCreate.csv
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest/testCreate.csv
@@ -1,8 +1,8 @@
-"product/data/name";"product/data/sku";"product/data/price/value";"product/data/tax_class_id/dataSet";"product/data/quantity_and_stock_status/qty";"product/data/is_virtual";"product/data/category";"product/data/group_price/preset";"product/data/price/preset";"product/data/tier_price/preset";"product/data/inventory_manage_stock";"product/data/quantity_and_stock_status/is_in_stock";"product/data/custom_options/preset";"product/data/custom_options/import_products";"product/data/visibility";"constraint"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"10";"-";"-";"Yes";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"10";"None";"999";"Yes";"category_%isolation%";"-";"-";"MAGETWO-23002";"Yes";"In Stock";"-";"-";"Catalog, Search";"assertProductSaveMessage, assertProductVisibleInCategory, assertProductForm, assertProductSearchableBySku"
-"VirtualProduct %isolation%";"-";"10";"Taxable Goods";"999";"Yes";"-";"-";"MAGETWO-23030";"-";"-";"Out of Stock";"-";"-";"Search";"assertProductSaveMessage, assertProductForm, assertProductSkuAutoGenerated, assertProductSearchableBySku"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"10";"-";"-";"Yes";"category_%isolation%";"MAGETWO-23055";"-";"-";"-";"-";"-";"-";"Catalog";"assertProductSaveMessage, assertProductForm, assertProductVisibleInCategory"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"9000";"-";"-";"Yes";"-";"MAGETWO-23055";"-";"-";"-";"-";"options-suite";"catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option";"-";"assertProductSaveMessage, assertProductSearchableBySku, assertProductPage, assertProductGroupedPriceOnProductPage, assertProductCustomOptionsOnProductPage"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"10";"-";"999";"Yes";"-";"-";"MAGETWO-23030";"-";"No";"In Stock";"-";"-";"-";"assertProductSaveMessage, assertProductPage, assertProductSpecialPriceOnProductPage, assertProductInStock"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"9000";"-";"999";"Yes";"-";"-";"-";"default";"-";"Out of Stock";"-";"-";"-";"assertProductSaveMessage, assertProductPage, assertProductTierPriceOnProductPage, assertProductOutOfStock"
+"product/data/url_key";"product/data/name";"product/data/sku";"product/data/price/value";"product/data/tax_class_id/dataSet";"product/data/quantity_and_stock_status/qty";"product/data/is_virtual";"product/data/category";"product/data/group_price/preset";"product/data/price/preset";"product/data/tier_price/preset";"product/data/inventory_manage_stock";"product/data/quantity_and_stock_status/is_in_stock";"product/data/custom_options/preset";"product/data/custom_options/import_products";"product/data/visibility";"constraint"
+"virtual-product-%isolation%";"VirtualProduct %isolation%";"virtual_sku_%isolation%";"10";"-";"-";"Yes";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductInGrid"
+"virtual-product-%isolation%";"VirtualProduct %isolation%";"virtual_sku_%isolation%";"10";"None";"999";"Yes";"category_%isolation%";"-";"-";"MAGETWO-23002";"Yes";"In Stock";"-";"-";"Catalog, Search";"assertProductSaveMessage, assertProductVisibleInCategory, assertProductForm, assertProductSearchableBySku"
+"virtual-product-%isolation%";"VirtualProduct %isolation%";"-";"10";"taxable_goods";"999";"Yes";"-";"-";"MAGETWO-23030";"-";"-";"Out of Stock";"-";"-";"Search";"assertProductSaveMessage, assertProductForm, assertProductSkuAutoGenerated, assertProductSearchableBySku"
+"virtual-product-%isolation%";"VirtualProduct %isolation%";"virtual_sku_%isolation%";"10";"-";"-";"Yes";"category_%isolation%";"MAGETWO-23055";"-";"-";"-";"-";"-";"-";"Catalog";"assertProductSaveMessage, assertProductForm, assertProductVisibleInCategory"
+"virtual-product-%isolation%";"VirtualProduct %isolation%";"virtual_sku_%isolation%";"9000";"-";"-";"Yes";"-";"MAGETWO-23055";"-";"-";"-";"-";"options-suite";"catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option";"-";"assertProductSaveMessage, assertProductSearchableBySku, assertProductPage, assertProductGroupedPriceOnProductPage, assertProductCustomOptionsOnProductPage"
+"virtual-product-%isolation%";"VirtualProduct %isolation%";"virtual_sku_%isolation%";"10";"-";"999";"Yes";"-";"-";"MAGETWO-23030";"-";"No";"In Stock";"-";"-";"-";"assertProductSaveMessage, assertProductPage, assertProductSpecialPriceOnProductPage, assertProductInStock"
+"virtual-product-%isolation%";"VirtualProduct %isolation%";"virtual_sku_%isolation%";"9000";"-";"999";"Yes";"-";"-";"-";"default";"-";"Out of Stock";"-";"-";"-";"assertProductSaveMessage, assertProductPage, assertProductTierPriceOnProductPage, assertProductOutOfStock"
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest/test.csv
index 95db56c64bb9d..78e544b303da2 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest/test.csv
@@ -1,8 +1,8 @@
-"product/data/category_ids/presets";"product/data/name";"product/data/sku";"product/data/price/value";"product/data/quantity_and_stock_status/qty";"product/data/quantity_and_stock_status/is_in_stock";"product/data/url_key";"product/data/weight";"product/data/visibility";"product/data/status";"constraint"
-"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"245.00";"200.0000";"-";"test-simple-product-%isolation%";"120.0000";"Catalog, Search";"-";"assertProductSaveMessage, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage"
-"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"325.00";"123.0000";"-";"test-simple-product-%isolation%";"129.0000";"Not Visible Individually";"-";"assertProductSaveMessage, assertProductForm, assertProductIsNotDisplayingOnFrontend"
-"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"325.01";"125.0000";"-";"test-simple-product-%isolation%";"25.0000";"Catalog";"-";"assertProductSaveMessage, assertProductInStock, assertProductForm, assertProductSearchableBySku, assertProductVisibleInCategory, assertProductPage"
-"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"325.02";"89.0000";"-";"test-simple-product-%isolation%";"89.0000";"Search";"-";"assertProductSaveMessage, assertProductInStock, assertProductForm, assertProductVisibleInCategory, assertProductPage, assertProductSearchableBySku, assertProductPage"
-"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"325.03";"25.0000";"Out of Stock";"test-simple-product-%isolation%";"125.0000";"-";"-";"assertProductSaveMessage, assertProductForm, assertProductOutOfStock, assertProductPage, assertProductVisibleInCategory, assertProductSearchableBySku"
-"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"74.00";"87.0000";"-";"test-simple-product-%isolation%";"333.0000";"-";"Product offline";"assertProductSaveMessage, assertProductForm, assertProductIsNotDisplayingOnFrontend"
-"default";"Test simple product %isolation%";"test_simple_product_%isolation%";"74.00";"87.0000";"-";"test-simple-product-%isolation%";"333.0000";"-";"-";"assertProductSaveMessage, assertProductForm, assertUrlRewriteUpdatedProductInGrid, assertProductVisibleInCategory"
+"product/data/category_ids/presets";"product/data/name";"product/data/sku";"product/data/price/value";"product/data/quantity_and_stock_status/qty";"product/data/quantity_and_stock_status/is_in_stock";"product/data/url_key";"product/data/weight";"product/data/visibility";"product/data/status";"product/data/url_key";"constraint"
+"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"245.00";"200.0000";"-";"test-simple-product-%isolation%";"120.0000";"Catalog, Search";"-";"simple-product-%isolation%";"assertProductSaveMessage, assertProductForm, assertProductInStock, assertProductVisibleInCategory, assertProductPage"
+"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"325.00";"123.0000";"-";"test-simple-product-%isolation%";"129.0000";"Not Visible Individually";"-";"simple-product-%isolation%";"assertProductSaveMessage, assertProductForm, assertProductIsNotDisplayingOnFrontend"
+"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"325.01";"125.0000";"-";"test-simple-product-%isolation%";"25.0000";"Catalog";"-";"simple-product-%isolation%";"assertProductSaveMessage, assertProductInStock, assertProductForm, assertProductSearchableBySku, assertProductVisibleInCategory, assertProductPage"
+"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"325.02";"89.0000";"-";"test-simple-product-%isolation%";"89.0000";"Search";"-";"simple-product-%isolation%";"assertProductSaveMessage, assertProductInStock, assertProductForm, assertProductVisibleInCategory, assertProductPage, assertProductSearchableBySku, assertProductPage"
+"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"325.03";"25.0000";"Out of Stock";"test-simple-product-%isolation%";"125.0000";"-";"-";"simple-product-%isolation%";"assertProductSaveMessage, assertProductForm, assertProductOutOfStock, assertProductPage, assertProductVisibleInCategory, assertProductSearchableBySku"
+"-";"Test simple product %isolation%";"test_simple_product_%isolation%";"74.00";"87.0000";"-";"test-simple-product-%isolation%";"333.0000";"-";"Product offline";"simple-product-%isolation%";"assertProductSaveMessage, assertProductForm, assertProductIsNotDisplayingOnFrontend"
+"default";"Test simple product %isolation%";"test_simple_product_%isolation%";"74.00";"87.0000";"-";"test-simple-product-%isolation%";"333.0000";"-";"-";"simple-product-%isolation%";"assertProductSaveMessage, assertProductForm, assertUrlRewriteUpdatedProductInGrid, assertProductVisibleInCategory"
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest/test.csv
index c7ce0a25c7ea6..03f0ac9470b05 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest/test.csv
@@ -1,12 +1,12 @@
-"product/data/name";"product/data/sku";"product/data/price/value";"product/data/tax_class_id/dataSet";"product/data/quantity_and_stock_status/qty";"product/data/is_virtual";"product/data/category_ids/presets";"product/data/group_price/preset";"product/data/special_price";"product/data/tier_price/preset";"product/data/quantity_and_stock_status/is_in_stock";"product/data/custom_options/preset";"product/data/visibility";"constraint"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"99.99";"None";"999";"Yes";"default_subcategory";"-";"-";"MAGETWO-23002";"In Stock";"-";"Catalog";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductInCategory, assertProductTierPriceOnProductPage, assertProductSearchableBySku"
-"virtual_product_%isolation%";"virtual_sku_%isolation%";"120.00";"Taxable Goods";"999";"Yes";"-";"-";"45";"-";"In Stock";"-";"Catalog, Search";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductInCategory, assertProductPage, assertProductSpecialPriceOnProductPage, assertProductSearchableBySku"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"185.00";"None";"999";"Yes";"default_subcategory";"-";"-";"MAGETWO-23002";"Out of Stock";"-";"Catalog, Search";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductPage, assertProductOutOfStock, assertProductTierPriceOnProductPage, assertProductSearchableBySku"
-"virtual_product_%isolation%";"virtual_sku_%isolation%";"99.99";"Taxable Goods";"-";"Yes";"-";"-";"-";"-";"Out of Stock";"-";"Search";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"5.00";"None";"-";"Yes";"-";"-";"-";"-";"Out of Stock";"-";"Catalog";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
-"virtual_product_%isolation%";"virtual_sku_%isolation%";"145.00";"Taxable Goods";"999";"Yes";"default_subcategory";"MAGETWO-23055";"-";"MAGETWO-23002";"In Stock";"-";"Catalog, Search";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductGroupedPriceOnProductPage, assertProductTierPriceOnProductPage, assertProductSearchableBySku"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"99.99";"None";"-";"Yes";"default_subcategory";"-";"45";"-";"Out of Stock";"-";"Catalog, Search";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
-"virtual_product_%isolation%";"virtual_sku_%isolation%";"5.00";"Taxable Goods";"-";"Yes";"-";"MAGETWO-23055";"-";"-";"Out of Stock";"-";"Search";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"120.00";"None";"999";"Yes";"default_subcategory";"-";"-";"-";"In Stock";"options-suite";"Search";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductSpecialPriceOnProductPage, assertProductCustomOptionsOnProductPage, assertProductSearchableBySku"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"99.99";"Taxable Goods";"-";"Yes";"-";"MAGETWO-23055";"-";"-";"Out of Stock";"-";"Catalog, Search";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
-"VirtualProduct %isolation%";"virtual_sku_%isolation%";"99.99";"None";"999";"Yes";"default_subcategory";"MAGETWO-23055";"-";"MAGETWO-23002";"In Stock";"-";"Catalog";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductSpecialPriceOnProductPage, assertProductPage, assertProductGroupedPriceOnProductPage, assertProductTierPriceOnProductPage, assertProductInCategory, assertProductSearchableBySku"
+"product/data/name";"product/data/sku";"product/data/price/value";"product/data/tax_class_id/dataSet";"product/data/quantity_and_stock_status/qty";"product/data/is_virtual";"product/data/category_ids/presets";"product/data/group_price/preset";"product/data/special_price";"product/data/tier_price/preset";"product/data/quantity_and_stock_status/is_in_stock";"product/data/custom_options/preset";"product/data/visibility";"product/data/url_key";"constraint"
+"VirtualProduct %isolation%";"virtual_sku_%isolation%";"99.99";"None";"999";"Yes";"default_subcategory";"-";"-";"MAGETWO-23002";"In Stock";"-";"Catalog";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductInCategory, assertProductTierPriceOnProductPage, assertProductSearchableBySku"
+"virtual_product_%isolation%";"virtual_sku_%isolation%";"120.00";"taxable_goods";"999";"Yes";"-";"-";"45";"-";"In Stock";"-";"Catalog, Search";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductInCategory, assertProductPage, assertProductSpecialPriceOnProductPage, assertProductSearchableBySku"
+"VirtualProduct %isolation%";"virtual_sku_%isolation%";"185.00";"None";"999";"Yes";"default_subcategory";"-";"-";"MAGETWO-23002";"Out of Stock";"-";"Catalog, Search";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductPage, assertProductOutOfStock, assertProductTierPriceOnProductPage, assertProductSearchableBySku"
+"virtual_product_%isolation%";"virtual_sku_%isolation%";"99.99";"taxable_goods";"-";"Yes";"-";"-";"-";"-";"Out of Stock";"-";"Search";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
+"VirtualProduct %isolation%";"virtual_sku_%isolation%";"5.00";"None";"-";"Yes";"-";"-";"-";"-";"Out of Stock";"-";"Catalog";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
+"virtual_product_%isolation%";"virtual_sku_%isolation%";"145.00";"taxable_goods";"999";"Yes";"default_subcategory";"MAGETWO-23055";"-";"MAGETWO-23002";"In Stock";"-";"Catalog, Search";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductGroupedPriceOnProductPage, assertProductTierPriceOnProductPage, assertProductSearchableBySku"
+"VirtualProduct %isolation%";"virtual_sku_%isolation%";"99.99";"None";"-";"Yes";"default_subcategory";"-";"45";"-";"Out of Stock";"-";"Catalog, Search";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
+"virtual_product_%isolation%";"virtual_sku_%isolation%";"5.00";"taxable_goods";"-";"Yes";"-";"MAGETWO-23055";"-";"-";"Out of Stock";"-";"Search";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
+"VirtualProduct %isolation%";"virtual_sku_%isolation%";"120.00";"None";"999";"Yes";"default_subcategory";"-";"-";"-";"In Stock";"options-suite";"Search";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductSpecialPriceOnProductPage, assertProductCustomOptionsOnProductPage, assertProductSearchableBySku"
+"VirtualProduct %isolation%";"virtual_sku_%isolation%";"99.99";"taxable_goods";"-";"Yes";"-";"MAGETWO-23055";"-";"-";"Out of Stock";"-";"Catalog, Search";"virtual-product-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductOutOfStock, assertProductSearchableBySku"
+"VirtualProduct %isolation%";"virtual_sku_%isolation%";"99.99";"None";"999";"Yes";"default_subcategory";"MAGETWO-23055";"-";"MAGETWO-23002";"In Stock";"-";"virtual-product-%isolation%";"Catalog";"assertProductSaveMessage, assertProductInGrid, assertProductForm, assertProductPage, assertProductVisibleInCategory, assertProductSpecialPriceOnProductPage, assertProductPage, assertProductGroupedPriceOnProductPage, assertProductTierPriceOnProductPage, assertProductInCategory, assertProductSearchableBySku"
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest/testCreateProductAttribute.csv b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest/testCreateProductAttribute.csv
index c17decc4632f6..b09fc94a96eab 100755
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest/testCreateProductAttribute.csv
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest/testCreateProductAttribute.csv
@@ -1,10 +1,10 @@
-"productTemplate/dataSet";"productAttribute/data/frontend_label";"productAttribute/data/frontend_input";"productAttribute/data/options/preset";"productAttribute/data/is_required";"productAttribute/data/attribute_code";"productAttribute/data/is_global";"productAttribute/data/default_value_text";"productAttribute/data/default_value_textarea";"productAttribute/data/default_value_date/pattern";"productAttribute/data/default_value_yesno";"productAttribute/data/is_unique";"productAttribute/data/is_configurable";"productAttribute/data/manage_frontend_label";"productAttribute/data/is_searchable";"productAttribute/data/is_visible_in_advanced_search";"productAttribute/data/is_comparable";"productAttribute/data/is_filterable";"productAttribute/data/is_filterable_in_search";"productAttribute/data/is_used_for_promo_rules";"productAttribute/data/is_html_allowed_on_front";"productAttribute/data/is_visible_on_front";"productAttribute/data/used_in_product_listing";"productAttribute/data/used_for_sort_by";"constraint";"issue"
-"custom_attribute_set";"Text_Field_Admin_%isolation%";"Text Field";"-";"No";"attr_textfield_%isolation%";"-";"default_value_text%isolation%";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm";""
-"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";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertProductAttributeIsRequired, assertAttributeSearchableByLabel, assertProductAttributeDisplayingOnSearchForm, assertProductAttributeIsComparable";""
-"custom_attribute_set";"Date_Admin_%isolation%";"Date";"-";"No";"attr_date_%isolation%";"-";"-";"-";"n/j/y";"-";"No";"-";"Date_Store_View";"Yes";"Yes";"No";"-";"-";"-";"-";"Yes";"Yes";"Yes";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertProductAttributeIsUsedInSortOnFrontend, assertProductAttributeIsUsedPromoRules";""
-"custom_attribute_set";"Yes/No_Admin_%isolation%";"Yes/No";"-";"Yes";"attr_yesno_%isolation%";"Global";"-";"-";"-";"No";"-";"-";"Yes/No_Global";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm";""
-"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";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertProductAttributeDisplayingOnFrontend, assertProductAttributeDisplayingOnSearchForm, assertProductAttributeIsComparable, assertProductAttributeIsFilterable, assertProductAttributeIsFilterableInSearch, assertAttributeSearchableByLabel, assertAttributeOptionsOnProductForm";""
-"custom_attribute_set";"Dropdown_Admin_%isolation%";"Dropdown";"default";"Yes";"attr_dropdown_%isolation%";"Global";"-";"-";"-";"-";"No";"Yes";"-";"Yes";"Yes";"Yes";"Filterable (with results)";"Yes";"-";"Yes";"Yes";"Yes";"Yes";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertProductAttributeIsRequired, assertProductAttributeIsGlobal, assertProductAttributeDisplayingOnFrontend, assertProductAttributeDisplayingOnSearchForm, assertAttributeSearchableByLabel, assertProductAttributeIsComparable, assertProductAttributeIsUsedInSortOnFrontend, assertProductAttributeIsFilterable, assertProductAttributeIsConfigurable, assertProductAttributeIsFilterableInSearch, assertAttributeOptionsOnProductForm";""
-"custom_attribute_set";"Price_Admin_%isolation%";"Price";"-";"No";"attr_price_%isolation%";"-";"1000";"-";"-";"-";"No";"-";"Price_StoreView";"Yes";"Yes";"No";"Filterable (with results)";"Yes";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertAttributeSearchableByLabel, assertProductAttributeDisplayingOnSearchForm, assertProductAttributeIsFilterable, assertProductAttributeIsFilterableInSearch";"Bug:MAGETWO-31560"
-"custom_attribute_set";"Fixed_Product_Tax_Admin_%isolation%";"Fixed Product Tax";"-";"-";"attr_fpt_code_%isolation%";"-";"-";"-";"-";"-";"-";"-";"Fixed_Product_Tax_Storeview";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm";""
-"custom_attribute_set";"Text_Field_Admin_%isolation%";"Text Field";"-";"Yes";"attr_textfield_%isolation%";"Store View";"default_value_text%isolation%";"-";"-";"-";"Yes";"-";"Area_Field%isolation%";"Yes";"Yes";"Yes";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeIsUnique";""
\ No newline at end of file
+"productTemplate/dataSet";"productAttribute/data/frontend_label";"productAttribute/data/frontend_input";"productAttribute/data/options/preset";"productAttribute/data/is_required";"productAttribute/data/attribute_code";"productAttribute/data/is_global";"productAttribute/data/default_value_text";"productAttribute/data/default_value_textarea";"productAttribute/data/default_value_date/pattern";"productAttribute/data/default_value_yesno";"productAttribute/data/is_unique";"productAttribute/data/is_configurable";"productAttribute/data/manage_frontend_label";"productAttribute/data/is_searchable";"productAttribute/data/is_visible_in_advanced_search";"productAttribute/data/is_comparable";"productAttribute/data/is_filterable";"productAttribute/data/is_filterable_in_search";"productAttribute/data/is_used_for_promo_rules";"productAttribute/data/is_html_allowed_on_front";"productAttribute/data/is_visible_on_front";"productAttribute/data/used_in_product_listing";"productAttribute/data/used_for_sort_by";"constraint"
+"custom_attribute_set";"Text_Field_Admin_%isolation%";"Text Field";"-";"No";"attr_textfield_%isolation%";"-";"default_value_text%isolation%";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm"
+"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";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertProductAttributeIsRequired, assertAttributeSearchableByLabel, assertProductAttributeDisplayingOnSearchForm, assertProductAttributeIsComparable"
+"custom_attribute_set";"Date_Admin_%isolation%";"Date";"-";"No";"attr_date_%isolation%";"-";"-";"-";"n/j/y";"-";"No";"-";"Date_Store_View";"Yes";"Yes";"No";"-";"-";"-";"-";"Yes";"Yes";"Yes";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertProductAttributeIsUsedInSortOnFrontend, assertProductAttributeIsUsedPromoRules"
+"custom_attribute_set";"Yes/No_Admin_%isolation%";"Yes/No";"-";"Yes";"attr_yesno_%isolation%";"Global";"-";"-";"-";"No";"-";"-";"Yes/No_Global";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm"
+"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";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertProductAttributeDisplayingOnFrontend, assertProductAttributeDisplayingOnSearchForm, assertProductAttributeIsComparable, assertProductAttributeIsFilterable, assertProductAttributeIsFilterableInSearch, assertAttributeSearchableByLabel, assertAttributeOptionsOnProductForm"
+"custom_attribute_set";"Dropdown_Admin_%isolation%";"Dropdown";"default";"Yes";"attr_dropdown_%isolation%";"Global";"-";"-";"-";"-";"No";"Yes";"-";"Yes";"Yes";"Yes";"Filterable (with results)";"Yes";"-";"Yes";"Yes";"Yes";"Yes";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertProductAttributeIsRequired, assertProductAttributeIsGlobal, assertProductAttributeDisplayingOnFrontend, assertProductAttributeDisplayingOnSearchForm, assertAttributeSearchableByLabel, assertProductAttributeIsComparable, assertProductAttributeIsUsedInSortOnFrontend, assertProductAttributeIsFilterable, assertProductAttributeIsConfigurable, assertProductAttributeIsFilterableInSearch, assertAttributeOptionsOnProductForm"
+"custom_attribute_set";"Price_Admin_%isolation%";"Price";"-";"No";"attr_price_%isolation%";"-";"1000";"-";"-";"-";"No";"-";"Price_StoreView";"Yes";"Yes";"No";"Filterable (with results)";"Yes";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm, assertAttributeSearchableByLabel, assertProductAttributeDisplayingOnSearchForm, assertProductAttributeIsFilterable, assertProductAttributeIsFilterableInSearch"
+"custom_attribute_set";"Fixed_Product_Tax_Admin_%isolation%";"Fixed Product Tax";"-";"-";"attr_fpt_code_%isolation%";"-";"-";"-";"-";"-";"-";"-";"Fixed_Product_Tax_Storeview";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeInGrid, assertAttributeForm, assertAddedProductAttributeOnProductForm"
+"custom_attribute_set";"Text_Field_Admin_%isolation%";"Text Field";"-";"Yes";"attr_textfield_%isolation%";"Store View";"default_value_text%isolation%";"-";"-";"-";"Yes";"-";"Area_Field%isolation%";"Yes";"Yes";"Yes";"-";"-";"-";"-";"-";"-";"-";"assertProductAttributeIsUnique"
\ No newline at end of file
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/fixture.xml
index 42e974ccae6f3..da083faf4a546 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/fixture.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/fixture.xml
@@ -26,13 +26,13 @@
virtual
-
+
-
+
simple
@@ -61,13 +61,13 @@
virtual
-
+
-
+
virtual
@@ -101,13 +101,13 @@
virtual
-
+
-
+
virtual
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
new file mode 100644
index 0000000000000..de76f9b2295fc
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CatalogInventory/Test/Repository/ConfigData.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+ 0
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.php
deleted file mode 100644
index 087f07330c5c8..0000000000000
--- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.php
+++ /dev/null
@@ -1,243 +0,0 @@
- 'CatalogPriceRule %isolation%',
- 'description' => 'Catalog Price Rule Description',
- 'is_active' => 'Active',
- 'website_ids' => ['Main Website'],
- 'customer_group_ids' => ['NOT LOGGED IN'],
- 'simple_action' => 'By Percentage of the Original Price',
- 'discount_amount' => '50',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'rule_information',
- ];
-
- protected $description = [
- 'attribute_code' => 'description',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'rule_information',
- ];
-
- protected $is_active = [
- 'attribute_code' => 'is_active',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'rule_information',
- ];
-
- protected $website_ids = [
- 'attribute_code' => 'website_ids',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'multiselect',
- 'group' => 'rule_information',
- ];
-
- protected $customer_group_ids = [
- 'attribute_code' => 'customer_group_ids',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'multiselect',
- 'group' => 'rule_information',
- ];
-
- protected $from_date = [
- 'attribute_code' => 'from_date',
- 'backend_type' => 'date',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'rule_information',
- ];
-
- protected $to_date = [
- 'attribute_code' => 'to_date',
- 'backend_type' => 'date',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'rule_information',
- ];
-
- protected $simple_action = [
- 'attribute_code' => 'simple_action',
- 'backend_type' => 'smallint',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'actions',
- ];
-
- protected $discount_amount = [
- 'attribute_code' => 'discount_amount',
- 'backend_type' => 'decimal',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'actions',
- ];
-
- protected $condition_type = [
- 'attribute_code' => 'condition_type',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'group' => 'conditions',
- 'input' => 'select',
- ];
-
- protected $condition_value = [
- 'attribute_code' => 'condition_value',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'group' => 'conditions',
- ];
-
- protected $rule = [
- 'attribute_code' => 'rule',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'group' => 'conditions',
- ];
-
- protected $conditions = [
- 'attribute_code' => 'conditions',
- 'backend_type' => 'virtual',
- 'group' => 'conditions',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- ];
-
- protected $sort_order = [
- 'attribute_code' => 'sort_order',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'rule_information',
- ];
-
- protected $stop_rules_processing = [
- 'attribute_code' => 'stop_rules_processing',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'rule_information',
- ];
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getDescription()
- {
- return $this->getData('description');
- }
-
- public function getIsActive()
- {
- return $this->getData('is_active');
- }
-
- public function getWebsiteIds()
- {
- return $this->getData('website_ids');
- }
-
- public function getCustomerGroupIds()
- {
- return $this->getData('customer_group_ids');
- }
-
- public function getFromDate()
- {
- return $this->getData('from_date');
- }
-
- public function getToDate()
- {
- return $this->getData('to_date');
- }
-
- public function getSimpleAction()
- {
- return $this->getData('simple_action');
- }
-
- public function getDiscountAmount()
- {
- return $this->getData('discount_amount');
- }
-
- public function getConditionType()
- {
- return $this->getData('condition_type');
- }
-
- public function getConditionValue()
- {
- return $this->getData('condition_value');
- }
-
- public function getRule()
- {
- return $this->getData('rule');
- }
-
- public function getConditions()
- {
- return $this->getData('conditions');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getSortOrder()
- {
- return $this->getData('sort_order');
- }
-
- public function getStopRulesProcessing()
- {
- return $this->getData('stop_rules_processing');
- }
-}
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
index df718cc62cde2..ea231170ed7d3 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml
+++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml
@@ -5,131 +5,142 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_CatalogRule
eav
catalog_rule
Magento\CatalogRule\Model\Resource\Rule\Product\Price\Collection
+ Magento\CatalogRule\Test\Repository\CatalogRule
+ Magento\CatalogRule\Test\Handler\CatalogRule\CatalogRuleInterface
+
+ CatalogPriceRule %isolation%
+ Catalog Price Rule Description
+ Active
+
+ - Main Website
+
+
+ - NOT LOGGED IN
+
+ By Percentage of the Original Price
+ 50
+
-
+
name
varchar
1
-
+ CatalogPriceRule %isolation%
text
rule_information
-
-
+
+
description
-
+ Catalog Price Rule Description
text
rule_information
-
-
- is_active
+
+
+ is_active
smallint
1
-
+ Active
select
rule_information
-
-
+
+
website_ids
smallint
1
-
+
+ - Main Website
+
multiselect
rule_information
-
-
+
+
customer_group_ids
smallint
1
-
- multiselect
- rule_information
-
-
- website_ids
- smallint
- 1
-
+
+ - NOT LOGGED IN
+
multiselect
rule_information
-
-
+
+
from_date
date
0
-
+
text
rule_information
-
-
+
+
to_date
date
0
-
+
text
rule_information
-
-
+
+
simple_action
smallint
0
-
+ By Percentage of the Original Price
select
actions
-
-
+
+
discount_amount
decimal
1
-
+ 50
text
actions
-
-
+
+
condition_type
virtual
0
conditions
select
-
-
+
+
condition_value
virtual
0
conditions
-
-
+
+
rule
virtual
- 0l
+ 0
conditions
-
-
+
+
conditions
virtual
conditions
-
-
+
+
id
virtual
-
-
+
+
sort_order
-
+
text
rule_information
-
-
+
+
stop_rules_processing
-
+
select
rule_information
-
+
- Magento\CatalogRule\Test\Repository\CatalogRule
- Magento\CatalogRule\Test\Handler\CatalogRule\CatalogRuleInterface
diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/Conditions.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/Conditions.php
deleted file mode 100755
index 10b7388a42aaf..0000000000000
--- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/Conditions.php
+++ /dev/null
@@ -1,89 +0,0 @@
-params = $params;
- if (isset($data['product'])) {
- list($fixture, $dataSet) = explode('::', $data['product']);
- $this->product = $fixtureFactory->createByCode($fixture, ['dataSet' => $dataSet]);
- $this->product->persist();
-
- /** @var CategoryIds $sourceCategories */
- $sourceCategories = $this->product->getDataFieldConfig('category_ids')['source'];
- $this->data = $sourceCategories->getIds()[0];
- }
- }
-
- /**
- * Persist conditions
- *
- * @return void
- */
- public function persist()
- {
- //
- }
-
- /**
- * Return prepared data set
- *
- * @param $key [optional]
- * @return mixed
- *
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function getData($key = null)
- {
- return $this->data;
- }
-
- /**
- * Return data set configuration settings
- *
- * @return string
- */
- public function getDataConfig()
- {
- return $this->params;
- }
-
- /**
- * Get product for verification
- *
- * @return \Magento\Catalog\Test\Fixture\CatalogProductSimple
- */
- public function getProduct()
- {
- return $this->product;
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.php
deleted file mode 100755
index 5e67cddc6eb11..0000000000000
--- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.php
+++ /dev/null
@@ -1,103 +0,0 @@
-_data['active_catalog_rule'] = [
- 'name' => 'Active Catalog Rule',
- 'description' => 'Rule Description',
- 'is_active' => 'Active',
- 'website_ids' => ['Main Website'],
- 'customer_group_ids' => ['NOT LOGGED IN', 'General', 'Wholesale', 'Retailer'],
- 'from_date' => '3/25/14',
- 'to_date' => '3/29/14',
- 'sort_order' => '1',
- 'simple_action' => 'By Percentage of the Original Price',
- 'discount_amount' => '50',
- ];
-
- $this->_data['inactive_catalog_price_rule'] = [
- 'name' => 'Inactive Catalog Price Rule',
- 'is_active' => 'Inactive',
- 'website_ids' => ['Main Website'],
- 'customer_group_ids' => ['NOT LOGGED IN'],
- 'simple_action' => 'By Percentage of the Original Price',
- 'discount_amount' => '50',
- ];
-
- $this->_data['active_catalog_price_rule_with_conditions'] = [
- 'name' => 'Active Catalog Rule with conditions %isolation%',
- 'description' => 'Rule Description',
- 'is_active' => 'Active',
- 'website_ids' => ['Main Website'],
- 'customer_group_ids' => ['NOT LOGGED IN', 'General', 'Wholesale', 'Retailer'],
- 'rule' => '[Category|is|2]',
- 'simple_action' => 'By Percentage of the Original Price',
- 'discount_amount' => '10',
- ];
-
- $this->_data['catalog_price_rule_priority_0'] = [
- 'name' => 'catalog_price_rule_priority_0',
- 'description' => '-50% of price, Priority = 0',
- 'is_active' => 'Active',
- 'website_ids' => ['Main Website'],
- 'customer_group_ids' => ['NOT LOGGED IN'],
- 'sort_order' => '0',
- 'simple_action' => 'By Percentage of the Original Price',
- 'discount_amount' => '50',
- ];
-
- $this->_data['catalog_price_rule_priority_1_stop_further_rules'] = [
- 'name' => 'catalog_price_rule_priority_1_stop_further_rules',
- 'description' => 'Priority 1, -5 By fixed amount',
- 'is_active' => 'Active',
- 'website_ids' => ['Main Website'],
- 'customer_group_ids' => ['NOT LOGGED IN'],
- 'sort_order' => '1',
- 'simple_action' => 'By Fixed Amount',
- 'discount_amount' => '5',
- 'stop_rules_processing' => 'Yes',
- ];
-
- $this->_data['catalog_price_rule_priority_2'] = [
- 'name' => 'catalog_price_rule_priority_2',
- 'description' => 'Priority 2, -10 By fixed amount',
- 'is_active' => 'Active',
- 'website_ids' => ['Main Website'],
- 'customer_group_ids' => ['NOT LOGGED IN'],
- 'sort_order' => '2',
- 'simple_action' => 'By Fixed Amount',
- 'discount_amount' => '10',
- ];
-
- $this->_data['catalog_price_rule_all_groups'] = [
- 'name' => 'catalog_price_rule_all_groups_%isolation%',
- 'description' => '-50% of price, Priority = 0',
- 'is_active' => 'Active',
- 'website_ids' => ['Main Website'],
- 'customer_group_ids' => ['NOT LOGGED IN', 'General', 'Wholesale', 'Retailer'],
- 'sort_order' => '0',
- 'simple_action' => 'By Percentage of the Original Price',
- 'discount_amount' => '50',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..043457a8e8de2
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+ Active Catalog Rule
+ Rule Description
+ Active
+
+ - Main Website
+
+
+ - NOT LOGGED IN
+ - General
+ - Wholesale
+ - Retailer
+
+ 3/25/14
+ 3/29/14
+ 1
+ By Percentage of the Original Price
+ 50
+
+
+
+ Inactive Catalog Price Rule
+ Inactive
+
+ - Main Website
+
+
+ - NOT LOGGED IN
+
+ By Percentage of the Original Price
+ 50
+
+
+
+ Active Catalog Rule with conditions %isolation%
+ Rule Description
+ Active
+
+ - Main Website
+
+
+ - NOT LOGGED IN
+ - General
+ - Wholesale
+ - Retailer
+
+ [Category|is|2]
+ By Percentage of the Original Price
+ 10
+
+
+
+ catalog_price_rule_priority_0
+ -50% of price, Priority = 0
+ Active
+
+ - Main Website
+
+
+ - NOT LOGGED IN
+
+ 0
+ By Percentage of the Original Price
+ 50
+
+
+
+ catalog_price_rule_priority_1_stop_further_rules
+ Priority 1, -5 By fixed amount
+ Active
+
+ - Main Website
+
+
+ - NOT LOGGED IN
+
+ 1
+ By Fixed Amount
+ 5
+ Yes
+
+
+
+ catalog_price_rule_priority_2
+ Priority 2, -10 By fixed amount
+ Active
+
+ - Main Website
+
+
+ - NOT LOGGED IN
+
+ 2
+ By Fixed Amount
+ 10
+
+
+
+ catalog_price_rule_all_groups_%isolation%
+ -50% of price, Priority = 0
+ Active
+
+ - Main Website
+
+
+ - NOT LOGGED IN
+ - General
+ - Wholesale
+ - Retailer
+
+ 0
+ By Percentage of the Original Price
+ 50
+
+
+
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
index f17c6b3962160..3cf247de49fd1 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestStep/CreateCatalogRuleStep.php
+++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestStep/CreateCatalogRuleStep.php
@@ -6,8 +6,8 @@
namespace Magento\CatalogRule\Test\TestStep;
-use Mtf\Fixture\FixtureFactory;
-use Mtf\TestStep\TestStepInterface;
+use Magento\Mtf\Fixture\FixtureFactory;
+use Magento\Mtf\TestStep\TestStepInterface;
/**
* Creating catalog rule
diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/constraint.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/constraint.xml
index 2128ca0763ccd..f107dfc9a427c 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/constraint.xml
+++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/constraint.xml
@@ -9,68 +9,68 @@
low
-
+
low
-
-
-
+
+
+
low
-
-
+
+
low
-
+
high
-
+
-
-
+
+
low
-
+
low
-
-
+
+
high
-
+
-
+
high
-
+
-
-
-
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/fixture.xml
index 987770aca2d8a..545a4e7157ce6 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/fixture.xml
+++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/fixture.xml
@@ -21,7 +21,7 @@
Magento\CatalogRule\Test\Fixture\Product\Category
-
+
diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.php
deleted file mode 100644
index 82858efa74fbe..0000000000000
--- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.php
+++ /dev/null
@@ -1,175 +0,0 @@
- null,
- 'is_active' => null,
- 'updated_at' => null,
- ];
-
- protected $query_id = [
- 'attribute_code' => 'query_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $query_text = [
- 'attribute_code' => 'query_text',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'source' => 'Magento\CatalogSearch\Test\Fixture\CatalogSearchQuery\QueryText',
- ];
-
- protected $num_results = [
- 'attribute_code' => 'num_results',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $popularity = [
- 'attribute_code' => 'popularity',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $redirect = [
- 'attribute_code' => 'redirect',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $synonym_for = [
- 'attribute_code' => 'synonym_for',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $store_id = [
- 'attribute_code' => 'store_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $display_in_terms = [
- 'attribute_code' => 'display_in_terms',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- ];
-
- protected $is_active = [
- 'attribute_code' => 'is_active',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- ];
-
- protected $is_processed = [
- 'attribute_code' => 'is_processed',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => 'CURRENT_TIMESTAMP',
- 'input' => '',
- ];
-
- public function getQueryId()
- {
- return $this->getData('query_id');
- }
-
- public function getQueryText()
- {
- return $this->getData('query_text');
- }
-
- public function getNumResults()
- {
- return $this->getData('num_results');
- }
-
- public function getPopularity()
- {
- return $this->getData('popularity');
- }
-
- public function getRedirect()
- {
- return $this->getData('redirect');
- }
-
- public function getSynonymFor()
- {
- return $this->getData('synonym_for');
- }
-
- public function getStoreId()
- {
- return $this->getData('store_id');
- }
-
- public function getDisplayInTerms()
- {
- return $this->getData('display_in_terms');
- }
-
- public function getIsActive()
- {
- return $this->getData('is_active');
- }
-
- public function getIsProcessed()
- {
- return $this->getData('is_processed');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-}
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
index f7ec12a88c940..59befc307268f 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.xml
+++ b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.xml
@@ -5,91 +5,93 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_CatalogSearch
flat
search_query
Magento\Search\Model\Resource\Query\Collection
+ Magento\CatalogSearch\Test\Repository\CatalogSearchQuery
+ Magento\CatalogSearch\Test\Handler\CatalogSearchQuery\CatalogSearchQueryInterface
-
+
query_id
int
1
-
-
-
-
+
+
+
+
query_text
varchar
-
-
-
-
-
-
- num_results
+
+
+
+
+
+
+ num_results
int
-
- 0
-
-
-
+
+ 0
+
+
+
popularity
int
-
- 0
-
-
-
+
+ 0
+
+
+
redirect
varchar
-
-
-
-
-
+
+
+
+
+
synonym_for
varchar
-
-
-
-
-
+
+
+
+
+
store_id
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
display_in_terms
smallint
-
- 1
-
-
-
+
+
+
+
+
is_active
smallint
-
- 1
-
-
-
+
+
+
+
+
is_processed
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
updated_at
timestamp
-
- CURRENT_TIMESTAMP
-
-
+
+
+
+
- Magento\CatalogSearch\Test\Repository\CatalogSearchQuery
- Magento\CatalogSearch\Test\Handler\CatalogSearchQuery\CatalogSearchQueryInterface
diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Repository/CatalogSearchQuery.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Repository/CatalogSearchQuery.php
deleted file mode 100644
index 60eea1265c76a..0000000000000
--- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Repository/CatalogSearchQuery.php
+++ /dev/null
@@ -1,35 +0,0 @@
-_data['default'] = [
- 'query_text' => ['value' => 'Query text %isolation%'],
- 'store_id' => 'Main Website/Main Website Store/Default Store View',
- 'synonym_for' => 'Synonym word %isolation%',
- 'redirect' => 'http://example.com/',
- 'display_in_terms' => 'No',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..c1ca5e3e2284c
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Repository/CatalogSearchQuery.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ - Query text %isolation%
+
+ Main Website/Main Website Store/Default Store View
+ Synonym word %isolation%
+ http://example.com/
+ No
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest/test.csv
index 124f69344b39a..57d68290ccaa9 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest/test.csv
@@ -1,2 +1,2 @@
"searchTerm/data/query_text/value";"searchTerm/data/store_id";"searchTerm/data/synonym_for";"searchTerm/data/redirect";"searchTerm/data/display_in_terms";"constraint"
-"catalogProductSimple::getSku";"Main Website/Main Website Store/Default Store View";"Search Term Synonym %isolation%";"http://example.com/";"No";"assertSearchTermSuccessSaveMessage, assertSearchTermInGrid, assertSearchTermForm, assertSearchTermOnFrontend, assertSearchTermSynonymOnFrontend"
+"catalogProductSimple::sku";"Main Website/Main Website Store/Default Store View";"Search Term Synonym %isolation%";"http://example.com/";"No";"assertSearchTermSuccessSaveMessage, assertSearchTermInGrid, assertSearchTermForm, assertSearchTermOnFrontend, assertSearchTermSynonymOnFrontend"
diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/EditSearchTermEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/EditSearchTermEntityTest/test.csv
index c7e90bce0d3be..2e260a6a786e2 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/EditSearchTermEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/EditSearchTermEntityTest/test.csv
@@ -1,2 +1,2 @@
"searchTerm/data/query_text/value";"searchTerm/data/store_id";"searchTerm/data/num_results";"searchTerm/data/popularity";"searchTerm/data/synonym_for";"searchTerm/data/redirect";"searchTerm/data/display_in_terms";"constraint"
-"catalogProductSimple::getSku";"Main Website/Main Website Store/Default Store View";1;20;"simple%isolation%";"http://example.com/";"No";"assertSearchTermSuccessSaveMessage, assertSearchTermForm, assertSearchTermInGrid, assertSearchTermOnFrontend"
+"catalogProductSimple::sku";"Main Website/Main Website Store/Default Store View";1;20;"simple%isolation%";"http://example.com/";"No";"assertSearchTermSuccessSaveMessage, assertSearchTermForm, assertSearchTermInGrid, assertSearchTermOnFrontend"
diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Billing.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Billing.php
new file mode 100644
index 0000000000000..db9b6109a05b7
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Billing.php
@@ -0,0 +1,82 @@
+fill($billingAddress);
+ }
+ if ($customer) {
+ $this->fill($customer);
+ }
+ if ($isShippingAddress) {
+ $this->_rootElement->find($this->useForShipping)->click();
+ }
+ $this->waitForElementNotVisible($this->waitElement);
+ }
+
+ /**
+ * Click continue on billing information block
+ *
+ * @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;
+ }
+ );
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Billing.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Billing.xml
new file mode 100644
index 0000000000000..e62c88853e3b2
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Billing.xml
@@ -0,0 +1,34 @@
+
+
+
+ billing
+
+
+
+
+
+
+ [id='billing:street1']
+
+
+
+ select
+
+
+
+ select
+
+
+
+ [name='billing[customer_password]']
+
+
+ [name='billing[confirm_password]']
+
+
+
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
new file mode 100644
index 0000000000000..3825719ad4eec
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.php
@@ -0,0 +1,123 @@
+isRegisteredCustomer()) {
+ $this->loginCustomer($fixture->getCustomer());
+ } elseif ($fixture->getCustomer()) {
+ $this->registerCustomer();
+ $this->clickContinue();
+ } else {
+ $this->guestCheckout();
+ $this->clickContinue();
+ }
+ }
+
+ /**
+ * Perform guest checkout
+ *
+ * @return void
+ */
+ public function guestCheckout()
+ {
+ $this->_rootElement->find($this->guestCheckout)->click();
+ }
+
+ /**
+ * Register customer during checkout
+ *
+ * @return void
+ */
+ public function registerCustomer()
+ {
+ $this->_rootElement->find($this->registerCustomer)->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);
+ }
+
+ /**
+ * 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
new file mode 100644
index 0000000000000..6b1eed8e9a3ac
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.xml
@@ -0,0 +1,16 @@
+
+
+
+ login
+
+
+ [name='login[username]']
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Methods.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Methods.php
new file mode 100644
index 0000000000000..7ce79345368e4
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Methods.php
@@ -0,0 +1,110 @@
+_rootElement->find(sprintf($this->paymentMethodInput, $payment['method']));
+ if ($paymentSelector->isVisible()) {
+ $paymentSelector->click();
+ } else {
+ $paymentCount = count($this->_rootElement->getElements($this->paymentMethodLabels));
+ $paymentSelector = $this->_rootElement->find(sprintf($this->paymentMethodLabel, $payment['method']));
+ if ($paymentCount !== 1 && !$paymentSelector->isVisible()) {
+ throw new \Exception('Such payment method is absent.');
+ }
+ }
+ if ($payment['method'] == "purchaseorder") {
+ $this->_rootElement->find($this->purchaseOrderNumber)->setValue($payment['po_number']);
+ }
+ if (isset($payment['dataConfig']['payment_form_class'])) {
+ $paymentFormClass = $payment['dataConfig']['payment_form_class'];
+ /** @var \Magento\Payment\Test\Block\Form\Cc $formBlock */
+ $formBlock = $this->blockFactory->create(
+ $paymentFormClass,
+ ['element' => $this->_rootElement->find('#payment_form_' . $payment['method'])]
+ );
+ $formBlock->fill($payment['credit_card']);
+ }
+ }
+
+ /**
+ * Press "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;
+ }
+ );
+ }
+}
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
new file mode 100644
index 0000000000000..5839491a28e8d
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Review.php
@@ -0,0 +1,349 @@
+span';
+
+ /**
+ * Shipping excluding tax search mask
+ *
+ * @var string
+ */
+ protected $shippingExclTax = '[class="totals shipping excl"] span';
+
+ /**
+ * Shipping including tax search mask
+ *
+ * @var string
+ */
+ protected $shippingInclTax = '[class="totals shipping incl"] span';
+
+ /**
+ * Product price excluding tax search mask
+ *
+ * @var string
+ */
+ protected $itemExclTax = '//tr[contains (.,"%s")]/td[@class="col price"]/span[@class="price-excluding-tax"]/span';
+
+ /**
+ * Product price including tax search mask
+ *
+ * @var string
+ */
+ protected $itemInclTax = '//tr[contains (.,"%s")]/td[@class="col price"]/span[@class="price-including-tax"]/span';
+
+ // @codingStandardsIgnoreStart
+ /**
+ * Product price subtotal excluding tax search mask
+ *
+ * @var string
+ */
+ protected $itemSubExclTax = '//tr[contains (.,"%s")]/td[@class="col subtotal"]/span[@class="price-excluding-tax"]/span';
+
+ /**
+ * Product price subtotal including tax search mask
+ *
+ * @var string
+ */
+ protected $itemSubInclTax = '//tr[contains (.,"%s")]/td[@class="col subtotal"]/span[@class="price-including-tax"]/span';
+ // @codingStandardsIgnoreEnd
+
+ /**
+ * Wait element
+ *
+ * @var string
+ */
+ protected $waitElement = '.loading-mask';
+
+ /**
+ * @constructor
+ * @param SimpleElement $element
+ * @param BlockFactory $blockFactory
+ * @param BrowserInterface $browser
+ */
+ public function __construct(SimpleElement $element, BlockFactory $blockFactory, BrowserInterface $browser)
+ {
+ parent::__construct($element, $blockFactory, $browser);
+ }
+
+ /**
+ * Fill billing address
+ *
+ * @return void
+ */
+ public function placeOrder()
+ {
+ $this->_rootElement->find($this->continue, Locator::SELECTOR_CSS)->click();
+ $this->waitForElementNotVisible($this->waitElement);
+ }
+
+ /**
+ * Wait for 3D Secure card validation
+ *
+ * @return void
+ */
+ public function waitForCardValidation()
+ {
+ $this->waitForElementNotVisible($this->centinelBlock);
+ }
+
+ /**
+ * Get Grand Total Text
+ *
+ * @return array|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 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 subtotal 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 subtotal 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 excluding tax text
+ *
+ * @return string
+ */
+ public function getGrandTotalExclTax()
+ {
+ $grandTotal = $this->_rootElement->find($this->grandTotalExclTax, Locator::SELECTOR_CSS)->getText();
+ return $this->escapeCurrency($grandTotal);
+ }
+
+ /**
+ * Get Grand Total including tax text
+ *
+ * @return string
+ */
+ public function getGrandTotalInclTax()
+ {
+ $grandTotal = $this->_rootElement->find($this->grandTotalInclTax, Locator::SELECTOR_CSS)->getText();
+ return $this->escapeCurrency($grandTotal);
+ }
+
+ /**
+ * Get Tax text from Order Totals
+ *
+ * @return array|string
+ */
+ public function getTax()
+ {
+ $tax = $this->_rootElement->find($this->tax, Locator::SELECTOR_CSS)->getText();
+ return $this->escapeCurrency($tax);
+ }
+
+ /**
+ * Get Discount 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 array|string
+ */
+ public function getSubtotal()
+ {
+ $subTotal = $this->_rootElement->find($this->subtotal, Locator::SELECTOR_CSS)->getText();
+ return $this->escapeCurrency($subTotal);
+ }
+
+ /**
+ * Get Subtotal excluding tax text
+ *
+ * @return string
+ */
+ public function getSubtotalExclTax()
+ {
+ $subTotal = $this->_rootElement->find($this->subtotalExclTax, Locator::SELECTOR_CSS)->getText();
+ return $this->escapeCurrency($subTotal);
+ }
+
+ /**
+ * Get Subtotal including tax text
+ *
+ * @return string
+ */
+ public function getSubtotalInclTax()
+ {
+ $subTotal = $this->_rootElement->find($this->subtotalInclTax, Locator::SELECTOR_CSS)->getText();
+ return $this->escapeCurrency($subTotal);
+ }
+
+ /**
+ * Get Shipping including 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 excluding 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;
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.php
new file mode 100644
index 0000000000000..796b272a9579b
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.php
@@ -0,0 +1,64 @@
+getShippingAddress();
+ if (!$shippingAddress) {
+ return;
+ }
+ $this->fill($shippingAddress);
+ $this->_rootElement->find($this->continue, Locator::SELECTOR_CSS)->click();
+ $this->waitForElementNotVisible($this->waitElement);
+ }
+}
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
new file mode 100644
index 0000000000000..d816ce5af0323
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.xml
@@ -0,0 +1,28 @@
+
+
+
+ shipping
+
+
+
+
+
+
+ [id='billing:street1']
+
+
+
+ select
+
+
+
+ select
+
+
+
+
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
new file mode 100644
index 0000000000000..8842ad897a8af
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/Method.php
@@ -0,0 +1,70 @@
+shippingMethod, $method['shipping_service'], $method['shipping_method']);
+ $this->waitForElementVisible($selector, Locator::SELECTOR_XPATH);
+ $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->click();
+ }
+
+ /**
+ * 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;
+ }
+ );
+ }
+}
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
new file mode 100644
index 0000000000000..bd7db8956f146
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Success.php
@@ -0,0 +1,82 @@
+_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/Fixture/Cart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.php
deleted file mode 100644
index aab39fa9e4e6d..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.php
+++ /dev/null
@@ -1,717 +0,0 @@
- 'entity_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $store_id = [
- 'attribute_code' => 'store_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => 'CURRENT_TIMESTAMP',
- 'input' => '',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '0000-00-00 00:00:00',
- 'input' => '',
- ];
-
- protected $converted_at = [
- 'attribute_code' => 'converted_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $is_active = [
- 'attribute_code' => 'is_active',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- ];
-
- protected $is_virtual = [
- 'attribute_code' => 'is_virtual',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $is_multi_shipping = [
- 'attribute_code' => 'is_multi_shipping',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $items = [
- 'attribute_code' => 'items',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Checkout\Test\Fixture\Cart\Items',
- ];
-
- protected $items_count = [
- 'attribute_code' => 'items_count',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $items_qty = [
- 'attribute_code' => 'items_qty',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '0.0000',
- 'input' => '',
- ];
-
- protected $orig_order_id = [
- 'attribute_code' => 'orig_order_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $store_to_base_rate = [
- 'attribute_code' => 'store_to_base_rate',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '0.0000',
- 'input' => '',
- ];
-
- protected $store_to_quote_rate = [
- 'attribute_code' => 'store_to_quote_rate',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '0.0000',
- 'input' => '',
- ];
-
- protected $base_currency_code = [
- 'attribute_code' => 'base_currency_code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $store_currency_code = [
- 'attribute_code' => 'store_currency_code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $quote_currency_code = [
- 'attribute_code' => 'quote_currency_code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $grand_total = [
- 'attribute_code' => 'grand_total',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '0.0000',
- 'input' => '',
- ];
-
- protected $base_grand_total = [
- 'attribute_code' => 'base_grand_total',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '0.0000',
- 'input' => '',
- ];
-
- protected $checkout_method = [
- 'attribute_code' => 'checkout_method',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_id = [
- 'attribute_code' => 'customer_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $customer_tax_class_id = [
- 'attribute_code' => 'customer_tax_class_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $customer_group_id = [
- 'attribute_code' => 'customer_group_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $customer_email = [
- 'attribute_code' => 'customer_email',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_prefix = [
- 'attribute_code' => 'customer_prefix',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_firstname = [
- 'attribute_code' => 'customer_firstname',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_middlename = [
- 'attribute_code' => 'customer_middlename',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_lastname = [
- 'attribute_code' => 'customer_lastname',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_suffix = [
- 'attribute_code' => 'customer_suffix',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_dob = [
- 'attribute_code' => 'customer_dob',
- 'backend_type' => 'datetime',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_note = [
- 'attribute_code' => 'customer_note',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_note_notify = [
- 'attribute_code' => 'customer_note_notify',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- ];
-
- protected $customer_is_guest = [
- 'attribute_code' => 'customer_is_guest',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $remote_ip = [
- 'attribute_code' => 'remote_ip',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $applied_rule_ids = [
- 'attribute_code' => 'applied_rule_ids',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $reserved_order_id = [
- 'attribute_code' => 'reserved_order_id',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $password_hash = [
- 'attribute_code' => 'password_hash',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $coupon_code = [
- 'attribute_code' => 'coupon_code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $global_currency_code = [
- 'attribute_code' => 'global_currency_code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $base_to_global_rate = [
- 'attribute_code' => 'base_to_global_rate',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $base_to_quote_rate = [
- 'attribute_code' => 'base_to_quote_rate',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_taxvat = [
- 'attribute_code' => 'customer_taxvat',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_gender = [
- 'attribute_code' => 'customer_gender',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $subtotal = [
- 'attribute_code' => 'subtotal',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $base_subtotal = [
- 'attribute_code' => 'base_subtotal',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $subtotal_with_discount = [
- 'attribute_code' => 'subtotal_with_discount',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $base_subtotal_with_discount = [
- 'attribute_code' => 'base_subtotal_with_discount',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $is_changed = [
- 'attribute_code' => 'is_changed',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $trigger_recollect = [
- 'attribute_code' => 'trigger_recollect',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $ext_shipping_info = [
- 'attribute_code' => 'ext_shipping_info',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $is_persistent = [
- 'attribute_code' => 'is_persistent',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $gift_message_id = [
- 'attribute_code' => 'gift_message_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $checkout_data = [
- 'attribute_code' => 'checkout_data',
- 'backend_type' => 'virtual',
- 'group' => '',
- 'source' => 'Magento\Checkout\Test\Fixture\Cart\CheckoutData',
- ];
-
- public function getEntityId()
- {
- return $this->getData('entity_id');
- }
-
- public function getStoreId()
- {
- return $this->getData('store_id');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-
- public function getConvertedAt()
- {
- return $this->getData('converted_at');
- }
-
- public function getIsActive()
- {
- return $this->getData('is_active');
- }
-
- public function getIsVirtual()
- {
- return $this->getData('is_virtual');
- }
-
- public function getIsMultiShipping()
- {
- return $this->getData('is_multi_shipping');
- }
-
- public function getItems()
- {
- return $this->getData('items');
- }
-
- public function getItemsCount()
- {
- return $this->getData('items_count');
- }
-
- public function getItemsQty()
- {
- return $this->getData('items_qty');
- }
-
- public function getOrigOrderId()
- {
- return $this->getData('orig_order_id');
- }
-
- public function getStoreToBaseRate()
- {
- return $this->getData('store_to_base_rate');
- }
-
- public function getStoreToQuoteRate()
- {
- return $this->getData('store_to_quote_rate');
- }
-
- public function getBaseCurrencyCode()
- {
- return $this->getData('base_currency_code');
- }
-
- public function getStoreCurrencyCode()
- {
- return $this->getData('store_currency_code');
- }
-
- public function getQuoteCurrencyCode()
- {
- return $this->getData('quote_currency_code');
- }
-
- public function getGrandTotal()
- {
- return $this->getData('grand_total');
- }
-
- public function getBaseGrandTotal()
- {
- return $this->getData('base_grand_total');
- }
-
- public function getCheckoutMethod()
- {
- return $this->getData('checkout_method');
- }
-
- public function getCustomerId()
- {
- return $this->getData('customer_id');
- }
-
- public function getCustomerTaxClassId()
- {
- return $this->getData('customer_tax_class_id');
- }
-
- public function getCustomerGroupId()
- {
- return $this->getData('customer_group_id');
- }
-
- public function getCustomerEmail()
- {
- return $this->getData('customer_email');
- }
-
- public function getCustomerPrefix()
- {
- return $this->getData('customer_prefix');
- }
-
- public function getCustomerFirstname()
- {
- return $this->getData('customer_firstname');
- }
-
- public function getCustomerMiddlename()
- {
- return $this->getData('customer_middlename');
- }
-
- public function getCustomerLastname()
- {
- return $this->getData('customer_lastname');
- }
-
- public function getCustomerSuffix()
- {
- return $this->getData('customer_suffix');
- }
-
- public function getCustomerDob()
- {
- return $this->getData('customer_dob');
- }
-
- public function getCustomerNote()
- {
- return $this->getData('customer_note');
- }
-
- public function getCustomerNoteNotify()
- {
- return $this->getData('customer_note_notify');
- }
-
- public function getCustomerIsGuest()
- {
- return $this->getData('customer_is_guest');
- }
-
- public function getRemoteIp()
- {
- return $this->getData('remote_ip');
- }
-
- public function getAppliedRuleIds()
- {
- return $this->getData('applied_rule_ids');
- }
-
- public function getReservedOrderId()
- {
- return $this->getData('reserved_order_id');
- }
-
- public function getPasswordHash()
- {
- return $this->getData('password_hash');
- }
-
- public function getCouponCode()
- {
- return $this->getData('coupon_code');
- }
-
- public function getGlobalCurrencyCode()
- {
- return $this->getData('global_currency_code');
- }
-
- public function getBaseToGlobalRate()
- {
- return $this->getData('base_to_global_rate');
- }
-
- public function getBaseToQuoteRate()
- {
- return $this->getData('base_to_quote_rate');
- }
-
- public function getCustomerTaxvat()
- {
- return $this->getData('customer_taxvat');
- }
-
- public function getCustomerGender()
- {
- return $this->getData('customer_gender');
- }
-
- public function getSubtotal()
- {
- return $this->getData('subtotal');
- }
-
- public function getBaseSubtotal()
- {
- return $this->getData('base_subtotal');
- }
-
- public function getSubtotalWithDiscount()
- {
- return $this->getData('subtotal_with_discount');
- }
-
- public function getBaseSubtotalWithDiscount()
- {
- return $this->getData('base_subtotal_with_discount');
- }
-
- public function getIsChanged()
- {
- return $this->getData('is_changed');
- }
-
- public function getTriggerRecollect()
- {
- return $this->getData('trigger_recollect');
- }
-
- public function getExtShippingInfo()
- {
- return $this->getData('ext_shipping_info');
- }
-
- public function getIsPersistent()
- {
- return $this->getData('is_persistent');
- }
-
- public function getGiftMessageId()
- {
- return $this->getData('gift_message_id');
- }
-
- public function getCheckoutData()
- {
- return $this->getData('checkout_data');
- }
-}
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
index 140e99c6b1b54..a787298d02a6f 100644
--- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.xml
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.xml
@@ -5,381 +5,383 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Checkout
flat
quote
Magento\Checkout\Model\Resource\Cart
+ Magento\Checkout\Test\Repository\Cart
+ Magento\Checkout\Test\Handler\Cart\CartInterface
-
+
entity_id
int
1
-
-
-
-
+
+
+
+
store_id
smallint
-
- 0
-
-
-
- created_at
+
+ 0
+
+
+
+ created_at
timestamp
-
- CURRENT_TIMESTAMP
-
-
-
+
+ CURRENT_TIMESTAMP
+
+
+
updated_at
timestamp
-
- 0000-00-00 00:00:00
-
-
-
+
+ 0000-00-00 00:00:00
+
+
+
converted_at
timestamp
-
-
-
-
-
+
+
+
+
+
is_active
smallint
-
- 1
-
-
-
+
+ 1
+
+
+
is_virtual
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
is_multi_shipping
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
items
virtual
-
-
+
+
items_count
int
-
- 0
-
-
-
+
+ 0
+
+
+
items_qty
decimal
-
- 0.0000
-
-
-
+
+ 0.0000
+
+
+
orig_order_id
int
-
- 0
-
-
-
+
+ 0
+
+
+
store_to_base_rate
decimal
-
- 0.0000
-
-
-
+
+ 0.0000
+
+
+
store_to_quote_rate
decimal
-
- 0.0000
-
-
-
+
+ 0.0000
+
+
+
base_currency_code
varchar
-
-
-
-
-
+
+
+
+
+
store_currency_code
varchar
-
-
-
-
-
+
+
+
+
+
quote_currency_code
varchar
-
-
-
-
-
+
+
+
+
+
grand_total
decimal
-
- 0.0000
-
-
-
+
+ 0.0000
+
+
+
base_grand_total
decimal
-
- 0.0000
-
-
-
+
+ 0.0000
+
+
+
checkout_method
varchar
-
-
-
-
-
+
+
+
+
+
customer_id
int
-
- 0
-
-
-
+
+ 0
+
+
+
customer_tax_class_id
int
-
- 0
-
-
-
+
+ 0
+
+
+
customer_group_id
int
-
- 0
-
-
-
+
+ 0
+
+
+
customer_email
varchar
-
-
-
-
-
+
+
+
+
+
customer_prefix
varchar
-
-
-
-
-
+
+
+
+
+
customer_firstname
varchar
-
-
-
-
-
+
+
+
+
+
customer_middlename
varchar
-
-
-
-
-
+
+
+
+
+
customer_lastname
varchar
-
-
-
-
-
+
+
+
+
+
customer_suffix
varchar
-
-
-
-
-
+
+
+
+
+
customer_dob
datetime
-
-
-
-
-
+
+
+
+
+
customer_note
varchar
-
-
-
-
-
+
+
+
+
+
customer_note_notify
smallint
-
- 1
-
-
-
+
+ 1
+
+
+
customer_is_guest
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
remote_ip
varchar
-
-
-
-
-
+
+
+
+
+
applied_rule_ids
varchar
-
-
-
-
-
+
+
+
+
+
reserved_order_id
varchar
-
-
-
-
-
+
+
+
+
+
password_hash
varchar
-
-
-
-
-
+
+
+
+
+
coupon_code
varchar
-
-
-
-
-
+
+
+
+
+
global_currency_code
varchar
-
-
-
-
-
+
+
+
+
+
base_to_global_rate
decimal
-
-
-
-
-
+
+
+
+
+
base_to_quote_rate
decimal
-
-
-
-
-
+
+
+
+
+
customer_taxvat
varchar
-
-
-
-
-
+
+
+
+
+
customer_gender
varchar
-
-
-
-
-
+
+
+
+
+
subtotal
decimal
-
-
-
-
-
+
+
+
+
+
base_subtotal
decimal
-
-
-
-
-
+
+
+
+
+
subtotal_with_discount
decimal
-
-
-
-
-
+
+
+
+
+
base_subtotal_with_discount
decimal
-
-
-
-
-
+
+
+
+
+
is_changed
int
-
-
-
-
-
- trigger_recollect
+
+
+
+
+
+ trigger_recollec
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
ext_shipping_info
text
-
-
-
-
-
+
+
+
+
+
is_persistent
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
gift_message_id
int
-
-
-
-
-
+
+
+
+
+
checkout_data
virtual
-
+
-
+
- Magento\Checkout\Test\Repository\Cart
- Magento\Checkout\Test\Handler\Cart\CartInterface
diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest/test.csv
index 632334968d951..e754cc39c2c32 100644
--- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest/test.csv
@@ -1,9 +1,9 @@
-"productsData";"cart/data/grand_total";"constraint";"issue"
-"bundleProduct::bundle_dynamic_product";"200";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart";""
-"bundleProduct::bundle_fixed_product";"756";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart";"Bug: MAGETWO-28350"
-"catalogProductSimple::with_two_custom_option";"340";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart";""
-"catalogProductVirtual::50_dollar_product";"50";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart";""
-"configurableProductInjectable::default";"516";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart";""
-"downloadableProductInjectable::with_two_separately_links";"46";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart";"Bug: MAGETWO-24195"
-"groupedProductInjectable::three_simple_products";"1920";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart";""
-"catalogProductSimple::with_two_custom_option, catalogProductVirtual::50_dollar_product, downloadableProductInjectable::with_two_separately_links, groupedProductInjectable::three_simple_products, configurableProductInjectable::default, bundleProduct::bundle_dynamic_product, bundleProduct::bundle_dynamic_product";"3272";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart";"Bug: MAGETWO-28350"
+"productsData";"cart/data/grand_total";"constraint"
+"bundleProduct::bundle_dynamic_product";"200";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart"
+"bundleProduct::bundle_fixed_product";"756";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart"
+"catalogProductSimple::with_two_custom_option";"340";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart"
+"catalogProductVirtual::product_50_dollar";"50";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart"
+"configurableProductInjectable::default";"516";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart"
+"downloadableProductInjectable::with_two_separately_links";"46";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart"
+"groupedProductInjectable::three_simple_products";"1920";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart"
+"catalogProductSimple::with_two_custom_option, catalogProductVirtual::product_50_dollar, downloadableProductInjectable::with_two_separately_links, groupedProductInjectable::three_simple_products, configurableProductInjectable::default, bundleProduct::bundle_dynamic_product, bundleProduct::bundle_dynamic_product";"3272";"assertPriceInShoppingCart, assertProductQtyInShoppingCart, assertSubtotalInShoppingCart, assertCartItemsOptions, assertGrandTotalInShoppingCart"
diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest/test.csv b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest/test.csv
index a1d9b4beef900..78905d9e68380 100644
--- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest/test.csv
@@ -1,9 +1,9 @@
-"productsData";"constraint";"issue"
-"bundleProduct::bundle_dynamic_product";"assertCartIsEmpty";""
-"bundleProduct::bundle_fixed_product";"assertCartIsEmpty";"Bug: MAGETWO-28350"
-"catalogProductSimple::with_two_custom_option";"assertCartIsEmpty";""
-"catalogProductVirtual::50_dollar_product";"assertCartIsEmpty";""
-"configurableProductInjectable::default";"assertCartIsEmpty";""
-"downloadableProductInjectable::with_two_separately_links";"assertCartIsEmpty";""
-"groupedProductInjectable::three_simple_products";"assertCartIsEmpty";""
-"catalogProductSimple::with_two_custom_option, catalogProductVirtual::50_dollar_product, downloadableProductInjectable::with_two_separately_links, groupedProductInjectable::three_simple_products, configurableProductInjectable::default, bundleProduct::bundle_dynamic_product, bundleProduct::bundle_dynamic_product";"assertCartIsEmpty";"Bug: MAGETWO-28350"
+"productsData";"constraint"
+"bundleProduct::bundle_dynamic_product";"assertCartIsEmpty"
+"bundleProduct::bundle_fixed_product";"assertCartIsEmpty"
+"catalogProductSimple::with_two_custom_option";"assertCartIsEmpty"
+"catalogProductVirtual::product_50_dollar";"assertCartIsEmpty"
+"configurableProductInjectable::default";"assertCartIsEmpty"
+"downloadableProductInjectable::with_two_separately_links";"assertCartIsEmpty"
+"groupedProductInjectable::three_simple_products";"assertCartIsEmpty"
+"catalogProductSimple::with_two_custom_option, catalogProductVirtual::product_50_dollar, downloadableProductInjectable::with_two_separately_links, groupedProductInjectable::three_simple_products, configurableProductInjectable::default, bundleProduct::bundle_dynamic_product, bundleProduct::bundle_dynamic_product";"assertCartIsEmpty"
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
new file mode 100644
index 0000000000000..5fc30624db9f1
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Adminhtml/AgreementGrid.php
@@ -0,0 +1,41 @@
+ [
+ '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
new file mode 100644
index 0000000000000..509bef65926d1
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Adminhtml/Block/Agreement/Edit/AgreementsForm.php
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+ 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
new file mode 100644
index 0000000000000..cbc6a610b231a
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Multishipping/MultishippingAgreementReview.php
@@ -0,0 +1,16 @@
+_rootElement->find($this->notification)->getText();
+ }
+
+ /**
+ * Set agreement
+ *
+ * @param string $value
+ * @return void
+ */
+ public function setAgreement($value)
+ {
+ $this->_rootElement->find($this->agreementCheckbox, 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
new file mode 100644
index 0000000000000..d7e9c12b01e97
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermAbsentInGrid.php
@@ -0,0 +1,48 @@
+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
new file mode 100644
index 0000000000000..19842adc066a9
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermAbsentOnCheckout.php
@@ -0,0 +1,92 @@
+create(
+ 'Magento\Catalog\Test\TestStep\CreateProductsStep',
+ ['products' => $product]
+ );
+ $product = $createProductsStep->run();
+
+ $billingAddress = $fixtureFactory->createByCode('addressInjectable', ['dataSet' => 'default']);
+
+ $browser->open($_ENV['app_frontend_url'] . $product['products'][0]->getUrlKey() . '.html');
+ $catalogProductView->getViewBlock()->clickAddToCartButton();
+ $checkoutCart->getCartBlock()->getOnepageLinkBlock()->proceedToCheckout();
+ $checkoutOnepage->getLoginBlock()->guestCheckout();
+ $checkoutOnepage->getLoginBlock()->clickContinue();
+ $checkoutOnepage->getBillingBlock()->fill($billingAddress);
+ $checkoutOnepage->getBillingBlock()->clickContinue();
+ $checkoutOnepage->getShippingMethodBlock()->selectShippingMethod($shipping);
+ $checkoutOnepage->getShippingMethodBlock()->clickContinue();
+ $checkoutOnepage->getPaymentMethodsBlock()->selectPaymentMethod($payment);
+ $checkoutOnepage->getPaymentMethodsBlock()->clickContinue();
+
+ \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 in the Place order step.';
+ }
+}
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
new file mode 100644
index 0000000000000..2e653e52bdf36
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermInGrid.php
@@ -0,0 +1,48 @@
+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
new file mode 100644
index 0000000000000..386c4038028ea
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermOnCheckout.php
@@ -0,0 +1,109 @@
+create(
+ 'Magento\Catalog\Test\TestStep\CreateProductsStep',
+ ['products' => $product]
+ );
+ $product = $createProductsStep->run();
+
+ $billingAddress = $fixtureFactory->createByCode('addressInjectable', ['dataSet' => 'default']);
+
+ $browser->open($_ENV['app_frontend_url'] . $product['products'][0]->getUrlKey() . '.html');
+ $catalogProductView->getViewBlock()->clickAddToCartButton();
+ $checkoutCart->getCartBlock()->getOnepageLinkBlock()->proceedToCheckout();
+ $checkoutOnepage->getLoginBlock()->guestCheckout();
+ $checkoutOnepage->getLoginBlock()->clickContinue();
+ $checkoutOnepage->getBillingBlock()->fill($billingAddress);
+ $checkoutOnepage->getBillingBlock()->clickContinue();
+ $checkoutOnepage->getShippingMethodBlock()->selectShippingMethod($shipping);
+ $checkoutOnepage->getShippingMethodBlock()->clickContinue();
+ $checkoutOnepage->getPaymentMethodsBlock()->selectPaymentMethod($payment);
+ $checkoutOnepage->getPaymentMethodsBlock()->clickContinue();
+ $checkoutOnepage->getAgreementReview()->placeOrder();
+
+ \PHPUnit_Framework_Assert::assertEquals(
+ self::NOTIFICATION_MESSAGE,
+ $checkoutOnepage->getAgreementReview()->getNotificationMassage(),
+ 'Notification required message of Terms and Conditions is absent.'
+ );
+
+ $checkoutOnepage->getAgreementReview()->setAgreement('Yes');
+ $checkoutOnepage->getAgreementReview()->placeOrder();
+ $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
new file mode 100644
index 0000000000000..38be9a5f0cceb
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermRequireMessageOnMultishippingCheckout.php
@@ -0,0 +1,90 @@
+ ['dataSet' => 'johndoe_with_multiple_addresses']];
+ $customer = $stepFactory->create('\Magento\Customer\Test\TestStep\CreateCustomerStep', $customer)->run();
+ $product = $stepFactory->create('\Magento\Catalog\Test\TestStep\CreateProductsStep', ['products' => $product])
+ ->run();
+ $stepFactory->create('\Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep', $customer)->run();
+ $stepFactory->create('\Magento\Checkout\Test\TestStep\AddProductsToTheCartStep', $product)->run();
+ $stepFactory->create('\Magento\Multishipping\Test\TestStep\ProceedToMultipleAddressCheckoutStep')->run();
+ $stepFactory->create(
+ '\Magento\Multishipping\Test\TestStep\FillCustomerAddressesStep',
+ array_merge($product, $customer)
+ )->run();
+ $stepFactory->create(
+ '\Magento\Multishipping\Test\TestStep\FillShippingInformationStep',
+ array_merge(['shippingMethod' => $shipping], $customer)
+ )->run();
+ $stepFactory->create(
+ '\Magento\Multishipping\Test\TestStep\SelectPaymentMethodStep',
+ ['payment' => $payment]
+ )->run();
+ $stepFactory->create(
+ '\Magento\CheckoutAgreements\Test\TestStep\CheckTermOnMultishippingStep',
+ ['agreementValue' => 'No']
+ )->run();
+ $stepFactory->create('\Magento\Multishipping\Test\TestStep\PlaceOrderStep')->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',
+ ['agreementValue' => 'Yes']
+ )->run();
+ $stepFactory->create('\Magento\Multishipping\Test\TestStep\PlaceOrderStep')->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
new file mode 100644
index 0000000000000..d43f7f581e575
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessDeleteMessage.php
@@ -0,0 +1,51 @@
+getMessagesBlock()->getSuccessMessages(),
+ '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
new file mode 100644
index 0000000000000..1f27a0220978f
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessSaveMessage.php
@@ -0,0 +1,51 @@
+getMessagesBlock()->getSuccessMessages(),
+ '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
new file mode 100644
index 0000000000000..1f21222eeb2da
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement.xml
@@ -0,0 +1,88 @@
+
+
+
+ Magento_CheckoutAgreements
+ flat
+ checkout_agreement
+ Magento\CheckoutAgreements\Model\Resource\Agreement\Collection
+ Magento\CheckoutAgreements\Test\Repository\CheckoutAgreement
+ Magento\CheckoutAgreements\Test\Handler\CheckoutAgreement\CheckoutAgreementInterface
+
+ DefaultName%isolation%
+ Enabled
+ Text
+
+ - default
+
+ test_checkbox%isolation%
+ TestMessage%isolation%
+
+
+
+ agreement_id
+ int
+ 1
+
+
+
+
+ name
+ varchar
+
+ DefaultName%isolation%
+
+
+
+ content
+ text
+
+ TestMessage%isolation%
+
+
+
+ content_height
+ varchar
+
+
+
+
+
+ checkbox_text
+ text
+
+ test_checkbox%isolation%
+
+
+
+ is_active
+ smallint
+
+ Enabled
+
+
+
+ is_html
+ smallint
+
+ Text
+
+
+
+ store_ids
+ virtual
+
+
+ -
+
- default
+
+
+
+
+
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
new file mode 100644
index 0000000000000..38b0fb89d8ad4
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement/Stores.php
@@ -0,0 +1,105 @@
+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();
+ }
+ }
+ }
+
+ /**
+ * Persist stores
+ *
+ * @return void
+ */
+ public function persist()
+ {
+ //
+ }
+
+ /**
+ * Return prepared data set
+ *
+ * @param string|null $key [optional]
+ * @return mixed
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function getData($key = null)
+ {
+ return $this->data;
+ }
+
+ /**
+ * Return data set configuration settings
+ *
+ * @return array
+ */
+ public function getDataConfig()
+ {
+ return $this->params;
+ }
+
+ /**
+ * 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
new file mode 100644
index 0000000000000..acde7787f0f67
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Handler/CheckoutAgreement/CheckoutAgreementInterface.php
@@ -0,0 +1,17 @@
+ [
+ '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(), new Config());
+ $curl->write(CurlInterface::POST, $url, '1.1', [], $data);
+ $response = $curl->read();
+ $curl->close();
+ if (!strpos($response, 'data-ui-id="messages-message-success"')) {
+ 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
new file mode 100644
index 0000000000000..2e9ec905c5043
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/Adminhtml/CheckoutAgreementIndex.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ Magento\Core\Test\Block\Messages
+ #messages
+ css selector
+
+
+ Magento\Backend\Test\Block\GridPageActions
+ .page-main-actions
+ css selector
+
+
+ Magento\CheckoutAgreements\Test\Block\Adminhtml\AgreementGrid
+ #agreementGrid
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..040987a91d66f
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/Adminhtml/CheckoutAgreementNew.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Magento\Backend\Test\Block\FormPageActions
+ .page-main-actions
+ css selector
+
+
+ Magento\CheckoutAgreements\Test\Block\Adminhtml\Block\Agreement\Edit\AgreementsForm
+ #edit_form
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..289402b43233b
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/CheckoutOnepage.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Magento\CheckoutAgreements\Test\Block\Onepage\AgreementReview
+ #checkout-step-review
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..cb0aaa575c9b0
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/MultishippingCheckoutOverview.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ \Magento\CheckoutAgreements\Test\Block\Multishipping\MultishippingAgreementReview
+ #checkout-agreements
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..458088176cf95
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Repository/CheckoutAgreement.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+ TermDisabledTextName%isolation%
+ Disabled
+ Text
+
+ -
+
- default
+
+
+ test_checkbox%isolation%
+ TestMessage%isolation%
+
+
+
+
+ TermDisabledHtml%isolation%
+ Disabled
+ HTML
+
+ -
+
- default
+
+
+ test_checkbox%isolation%
+ TestMessage%isolation%
+
+
+
+
+ TermEnabledTextName%isolation%
+ Enabled
+ Text
+
+ -
+
- 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
new file mode 100644
index 0000000000000..3b1573fffd2c1
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Repository/ConfigData.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ 1
+
+
+
+ 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
new file mode 100644
index 0000000000000..6ab07b7f9280d
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest.php
@@ -0,0 +1,89 @@
+ 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_(CS)
+ * @ZephyrId MAGETWO-29586
+ */
+class CreateTermEntityTest extends Injectable
+{
+ /* tags */
+ const MVP = 'yes';
+ const DOMAIN = 'CS';
+ /* end tags */
+
+ // TODO: Move set up configuration to "__prepare" method after fix bug MAGETWO-29331
+ /**
+ * Set up configuration.
+ *
+ * @return void
+ */
+ public function __inject()
+ {
+ $this->objectManager->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'checkout_term_condition']
+ )->run();
+ }
+
+ /**
+ * Create Term Entity test.
+ *
+ * @param CheckoutAgreementNew $agreementNew
+ * @param CheckoutAgreementIndex $agreementIndex
+ * @param CheckoutAgreement $agreement
+ * @return void
+ */
+ public function test(
+ CheckoutAgreementNew $agreementNew,
+ CheckoutAgreementIndex $agreementIndex,
+ CheckoutAgreement $agreement
+ ) {
+ // Steps
+ $agreementIndex->open();
+ $agreementIndex->getPageActionsBlock()->addNew();
+ $agreementNew->getAgreementsForm()->fill($agreement);
+ $agreementNew->getPageActionsBlock()->save();
+ }
+
+ /**
+ * Clear data after test.
+ *
+ * @return void
+ */
+ public function tearDown()
+ {
+ $this->objectManager->create('Magento\CheckoutAgreements\Test\TestStep\DeleteAllTermsEntityStep')->run();
+
+ // TODO: Move set default configuration to "tearDownAfterClass" method after fix bug MAGETWO-29331
+ ObjectManager::getInstance()->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'checkout_term_condition', 'rollback' => true]
+ )->run();
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest/test.csv
new file mode 100644
index 0000000000000..5bbef09db6773
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest/test.csv
@@ -0,0 +1,6 @@
+"description";"product";"agreement/data/name";"agreement/data/is_active";"agreement/data/is_html";"agreement/data/stores/dataSet/0";"agreement/data/checkbox_text";"agreement/data/content";"shipping/shipping_service";"shipping/shipping_method";"payment/method";"constraint"
+"Create enabled term entity with text value";"catalogProductSimple::default";"name%isolation%";"Enabled";"Text";"default";"test_checkbox%isolation%";"TestMessage%isolation%";"Flat Rate";"Fixed";"checkmo";"assertTermSuccessSaveMessage, assertTermInGrid, assertTermOnCheckout"
+"Create enabled term entity with HTML value";"catalogProductSimple::default";"name%isolation%";"Enabled";"HTML";"default";"test_checkbox%isolation%";"";"Flat Rate";"Fixed";"checkmo";"assertTermSuccessSaveMessage, assertTermInGrid, assertTermOnCheckout"
+"Create enabled term entity with text value";"catalogProductSimple::default";"name%isolation%";"Enabled";"Text";"default";"test_checkbox%isolation%";"TestMessage%isolation%";"Flat Rate";"Fixed";"checkmo";"assertTermSuccessSaveMessage, assertTermInGrid, assertTermOnCheckout"
+"Create disabled term entity";"catalogProductSimple::default";"name%isolation%";"Disabled";"Text";"default";"test_checkbox%isolation%";"TestMessage%isolation%";"Flat Rate";"Fixed";"checkmo";"assertTermSuccessSaveMessage, assertTermInGrid, assertTermAbsentOnCheckout"
+"Create enabled term, check with multishipping";"catalogProductSimple::default, catalogProductSimple::default";"name%isolation%";"Enabled";"Text";"default";"test_checkbox%isolation%";"TestMessage%isolation%";"Flat Rate";"Fixed";"checkmo";"assertTermRequireMessageOnMultishippingCheckout, assertOrderSuccessPlacedMessage"
\ No newline at end of file
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
new file mode 100644
index 0000000000000..54db2bc5d2105
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest.php
@@ -0,0 +1,104 @@
+ 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_(CS)
+ * @ZephyrId MAGETWO-29687
+ */
+class DeleteTermEntityTest extends Injectable
+{
+ /* tags */
+ const MVP = 'yes';
+ const DOMAIN = 'CS';
+ /* end tags */
+
+ /**
+ * Checkout agreement index page.
+ *
+ * @var CheckoutAgreementIndex
+ */
+ protected $agreementIndex;
+
+ /**
+ * Checkout agreement new page.
+ *
+ * @var CheckoutAgreementNew
+ */
+ protected $agreementNew;
+
+ /**
+ * Inject data.
+ *
+ * @param CheckoutAgreementNew $agreementNew
+ * @param CheckoutAgreementIndex $agreementIndex
+ * @return void
+ */
+ public function __inject(
+ CheckoutAgreementNew $agreementNew,
+ CheckoutAgreementIndex $agreementIndex
+ ) {
+ $this->agreementNew = $agreementNew;
+ $this->agreementIndex = $agreementIndex;
+
+ // TODO: Move set up configuration to "__prepare" method after fix bug MAGETWO-29331
+ $this->objectManager->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'checkout_term_condition']
+ )->run();
+ }
+
+ /**
+ * Delete Term Entity test.
+ *
+ * @param CheckoutAgreement $agreement
+ * @return void
+ */
+ public function test(CheckoutAgreement $agreement)
+ {
+ // Precondition
+ $agreement->persist();
+
+ // Steps
+ $this->agreementIndex->open()->getAgreementGridBlock()->searchAndOpen(['name' => $agreement->getName()]);
+ $this->agreementNew->getPageActionsBlock()->delete();
+ }
+
+ // TODO: Move set default configuration to "tearDownAfterClass" method after fix bug MAGETWO-29331
+ /**
+ * Set default configuration.
+ *
+ * @return void
+ */
+ public function tearDown()
+ {
+ ObjectManager::getInstance()->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'checkout_term_condition', 'rollback' => true]
+ )->run();
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest/test.csv
new file mode 100644
index 0000000000000..6824357498e27
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest/test.csv
@@ -0,0 +1,2 @@
+"product";"agreement/dataSet";"shipping/shipping_service";"shipping/shipping_method";"payment/method";"constraint"
+"catalogProductSimple::default";"term_enabled_text";"Flat Rate";"Fixed";"checkmo";"assertTermSuccessDeleteMessage, assertTermAbsentInGrid, assertTermAbsentOnCheckout"
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
new file mode 100644
index 0000000000000..37a0f0d0dd241
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest.php
@@ -0,0 +1,95 @@
+ 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_(CS)
+ * @ZephyrId MAGETWO-29635
+ */
+class UpdateTermEntityTest extends Injectable
+{
+ /* tags */
+ const MVP = 'yes';
+ const DOMAIN = 'CS';
+ /* end tags */
+
+ // TODO: Move set up configuration to "__prepare" method after fix bug MAGETWO-29331
+ /**
+ * Set up configuration.
+ *
+ * @return void
+ */
+ public function __inject()
+ {
+ $this->objectManager->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'checkout_term_condition']
+ )->run();
+ }
+
+ /**
+ * Update Term Entity test.
+ *
+ * @param CheckoutAgreementNew $agreementNew
+ * @param CheckoutAgreementIndex $agreementIndex
+ * @param CheckoutAgreement $agreement
+ * @param CheckoutAgreement $agreementOrigin
+ * @return void
+ */
+ public function test(
+ CheckoutAgreementNew $agreementNew,
+ CheckoutAgreementIndex $agreementIndex,
+ CheckoutAgreement $agreement,
+ CheckoutAgreement $agreementOrigin
+ ) {
+ // Precondition
+ $agreementOrigin->persist();
+
+ // Steps
+ $agreementIndex->open();
+ $agreementIndex->getAgreementGridBlock()->searchAndOpen(['name' => $agreementOrigin->getName()]);
+ $agreementNew->getAgreementsForm()->fill($agreement);
+ $agreementNew->getPageActionsBlock()->save();
+ }
+
+ /**
+ * Clear data after test.
+ *
+ * @return void
+ */
+ public function tearDown()
+ {
+ $this->objectManager->create('Magento\CheckoutAgreements\Test\TestStep\DeleteAllTermsEntityStep')->run();
+
+ // TODO: Move set default configuration to "tearDownAfterClass" method after fix bug MAGETWO-29331
+ ObjectManager::getInstance()->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'checkout_term_condition', 'rollback' => true]
+ )->run();
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest/test.csv
new file mode 100644
index 0000000000000..5c9fa47f3d824
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest/test.csv
@@ -0,0 +1,4 @@
+"product";"agreementOrigin/dataSet";"agreement/data/name";"agreement/data/is_active";"agreement/data/is_html";"agreement/data/stores/dataSet/0";"agreement/data/checkbox_text";"agreement/data/content";"shipping/shipping_service";"shipping/shipping_method";"payment/method";"constraint"
+"catalogProductSimple::default";"term_disabled_text";"name%isolation%";"Enabled";"HTML";"default";"test_checkbox%isolation%";"TestMessage%isolation%";"Flat Rate";"Fixed";"checkmo";"assertTermSuccessSaveMessage, assertTermInGrid, assertTermOnCheckout"
+"catalogProductSimple::default";"term_disabled_html";"name%isolation%";"Enabled";"Text";"default";"test_checkbox%isolation%";"";"Flat Rate";"Fixed";"checkmo";"assertTermSuccessSaveMessage, assertTermInGrid, assertTermOnCheckout"
+"catalogProductSimple::default";"term_enabled_text";"name%isolation%";"Disabled";"HTML";"default";"test_checkbox%isolation%";"TestMessage%isolation%";"Flat Rate";"Fixed";"checkmo";"assertTermSuccessSaveMessage, assertTermInGrid, assertTermAbsentOnCheckout"
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
new file mode 100644
index 0000000000000..ababbf1f3594c
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/CheckTermOnMultishippingStep.php
@@ -0,0 +1,52 @@
+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
new file mode 100644
index 0000000000000..cb852a58079f9
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/CreateTermEntityStep.php
@@ -0,0 +1,41 @@
+agreement = $agreement;
+ }
+
+ /**
+ * Create checkout agreement.
+ *
+ * @return array
+ */
+ public function run()
+ {
+ $this->agreement->persist();
+ return ['agreement' => $this->agreement];
+ }
+}
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
new file mode 100644
index 0000000000000..f57baf78acc59
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/DeleteAllTermsEntityStep.php
@@ -0,0 +1,60 @@
+agreementNew = $agreementNew;
+ $this->agreementIndex = $agreementIndex;
+ }
+
+ /**
+ * Delete terms on backend
+ *
+ * @return void
+ */
+ public function run()
+ {
+ $this->agreementIndex->open();
+ while ($this->agreementIndex->getAgreementGridBlock()->isFirstRowVisible()) {
+ $this->agreementIndex->getAgreementGridBlock()->openFirstRow();
+ $this->agreementNew->getPageActionsBlock()->delete();
+ }
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/constraint.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/constraint.xml
new file mode 100644
index 0000000000000..b46e597fdccf3
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/constraint.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ low
+
+
+ low
+
+
+ low
+
+
+ low
+
+
+ low
+
+
+ low
+
+
+ high
+
+
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
new file mode 100644
index 0000000000000..aeedca9be3ee1
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/curl/di.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/fixture.xml
new file mode 100644
index 0000000000000..c6bcb72a68549
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/fixture.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ flat
+ checkout_agreement
+ Magento\CheckoutAgreements\Model\Resource\Agreement\Collection
+
+
diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/page.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/page.xml
new file mode 100644
index 0000000000000..06e0758277d2f
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/page.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ checkout/agreement/index
+ adminhtml
+ Magento\CheckoutAgreements\Test\Page\Adminhtml\CheckoutAgreementIndex
+
+
+ checkout/agreement/new
+ adminhtml
+ Magento\CheckoutAgreements\Test\Page\Adminhtml\CheckoutAgreementNew
+
+
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
new file mode 100644
index 0000000000000..63cacfea8b6a5
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Page.php
@@ -0,0 +1,110 @@
+ './/*/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);
+ $browser = $this->browser;
+ $this->_rootElement->waitUntil(
+ function () use ($browser, $text) {
+ $blockText = $browser->find($text, Locator::SELECTOR_XPATH);
+ return $blockText->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.');
+ }
+ }
+}
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
index 8470504b7f254..3a04c3edfe9e1 100644
--- 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
@@ -1,6 +1,5 @@
prepareUrlKey($data['url_key']);
+ $data['quantity_and_stock_status']['is_in_stock'] = 'Out of Stock';
return parent::prepareFixtureData($data, $sortFields);
}
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProductInjectable.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProductInjectable.php
deleted file mode 100644
index 99f2309d0d8f3..0000000000000
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProductInjectable.php
+++ /dev/null
@@ -1,896 +0,0 @@
- 'configurable',
- 'create_url_params' => [
- 'type' => 'configurable',
- 'set' => '4',
- ],
- 'input_prefix' => 'product',
- ];
-
- protected $defaultDataSet = [
- 'name' => 'Configurable Product %isolation%',
- 'sku' => 'sku_configurable_product_%isolation%',
- 'type_id' => 'configurable',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'website_ids' => ['Main Website'],
- 'price' => ['value' => 100.00],
- 'weight' => 1,
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'url_key' => 'configurable-product-%isolation%',
- 'configurable_attributes_data' => ['preset' => 'default'],
- ];
-
- protected $category_ids = [
- 'attribute_code' => 'category_ids',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CategoryIds',
- ];
-
- protected $color = [
- 'attribute_code' => 'color',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $country_of_manufacture = [
- 'attribute_code' => 'country_of_manufacture',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $custom_design = [
- 'attribute_code' => 'custom_design',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $custom_design_from = [
- 'attribute_code' => 'custom_design_from',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_design_to = [
- 'attribute_code' => 'custom_design_to',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_layout_update = [
- 'attribute_code' => 'custom_layout_update',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $description = [
- 'attribute_code' => 'description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- 'group' => 'product-details',
- ];
-
- protected $enable_googlecheckout = [
- 'attribute_code' => 'enable_googlecheckout',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'No',
- 'input' => 'select',
- ];
-
- protected $gallery = [
- 'attribute_code' => 'gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $gift_message_available = [
- 'attribute_code' => 'gift_message_available',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $group_price = [
- 'attribute_code' => 'group_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\GroupPriceOptions',
- ];
-
- protected $has_options = [
- 'attribute_code' => 'has_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $image = [
- 'attribute_code' => 'image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $image_label = [
- 'attribute_code' => 'image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $manufacturer = [
- 'attribute_code' => 'manufacturer',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $media_gallery = [
- 'attribute_code' => 'media_gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $meta_description = [
- 'attribute_code' => 'meta_description',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $meta_keyword = [
- 'attribute_code' => 'meta_keyword',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $meta_title = [
- 'attribute_code' => 'meta_title',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $minimal_price = [
- 'attribute_code' => 'minimal_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp = [
- 'attribute_code' => 'msrp',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp_display_actual_price_type = [
- 'attribute_code' => 'msrp_display_actual_price_type',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $news_from_date = [
- 'attribute_code' => 'news_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $news_to_date = [
- 'attribute_code' => 'news_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $old_id = [
- 'attribute_code' => 'old_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $options_container = [
- 'attribute_code' => 'options_container',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $page_layout = [
- 'attribute_code' => 'page_layout',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $price = [
- 'attribute_code' => 'price',
- 'backend_type' => 'decimal',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\Price',
- ];
-
- protected $quantity_and_stock_status = [
- 'attribute_code' => 'quantity_and_stock_status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'product-details',
- ];
-
- protected $required_options = [
- 'attribute_code' => 'required_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $short_description = [
- 'attribute_code' => 'short_description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- 'group' => 'autosettings',
- ];
-
- protected $sku = [
- 'attribute_code' => 'sku',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $small_image = [
- 'attribute_code' => 'small_image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $small_image_label = [
- 'attribute_code' => 'small_image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $special_from_date = [
- 'attribute_code' => 'special_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $special_price = [
- 'attribute_code' => 'special_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'advanced-pricing',
- ];
-
- protected $special_to_date = [
- 'attribute_code' => 'special_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $status = [
- 'attribute_code' => 'status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Product online',
- 'input' => 'checkbox',
- 'group' => 'product-details',
- ];
-
- protected $tax_class_id = [
- 'attribute_code' => 'tax_class_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Taxable Goods',
- 'input' => 'select',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TaxClass',
- ];
-
- protected $thumbnail = [
- 'attribute_code' => 'thumbnail',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $thumbnail_label = [
- 'attribute_code' => 'thumbnail_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $tier_price = [
- 'attribute_code' => 'tier_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TierPriceOptions',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $url_key = [
- 'attribute_code' => 'url_key',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'search-engine-optimization',
- ];
-
- protected $url_path = [
- 'attribute_code' => 'url_path',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $visibility = [
- 'attribute_code' => 'visibility',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => 'Catalog, Search',
- 'input' => 'select',
- 'group' => 'autosettings',
- ];
-
- protected $weight = [
- 'attribute_code' => 'weight',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'weight',
- 'group' => 'product-details',
- ];
-
- protected $is_virtual = [
- 'attribute_code' => 'is_virtual',
- 'backend_type' => 'virtual',
- 'group' => 'product-details',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- ];
-
- protected $type_id = [
- 'attribute_code' => 'type_id',
- 'backend_type' => 'virtual',
- 'group' => null,
- ];
-
- protected $attribute_set_id = [
- 'attribute_code' => 'attribute_set_id',
- 'backend_type' => 'virtual',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\AttributeSetId',
- ];
-
- protected $attribute_set_name = [
- 'attribute_code' => 'attribute_set_name',
- 'backend_type' => 'virtual',
- 'group' => 'variations',
- ];
-
- protected $affected_attribute_set = [
- 'attribute_code' => 'affected_attribute_set',
- 'backend_type' => 'virtual',
- 'group' => null,
- ];
-
- protected $custom_options = [
- 'attribute_code' => 'custom_options',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'group' => 'customer-options',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CustomOptions',
- ];
-
- protected $configurable_attributes_data = [
- 'attribute_code' => 'configurable_attributes_data',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'input' => 'variations',
- 'group' => 'variations',
- 'source' => 'Magento\ConfigurableProduct\Test\Fixture\ConfigurableProductInjectable\ConfigurableAttributesData',
- ];
-
- protected $website_ids = [
- 'attribute_code' => 'website_ids',
- 'backend_type' => 'virtual',
- 'default_value' => ['Main Website'],
- 'group' => 'websites',
- ];
-
- protected $checkout_data = [
- 'attribute_code' => 'checkout_data',
- 'backend_type' => 'virtual',
- 'group' => null,
- 'source' => 'Magento\ConfigurableProduct\Test\Fixture\ConfigurableProductInjectable\CheckoutData',
- ];
-
- protected $up_sell_products = [
- 'attribute_code' => 'up_sell_products',
- 'backend_type' => 'virtual',
- 'group' => 'upsells',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\UpSellProducts',
- ];
-
- public function getCategoryIds()
- {
- return $this->getData('category_ids');
- }
-
- public function getColor()
- {
- return $this->getData('color');
- }
-
- public function getCountryOfManufacture()
- {
- return $this->getData('country_of_manufacture');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getCustomDesign()
- {
- return $this->getData('custom_design');
- }
-
- public function getCustomDesignFrom()
- {
- return $this->getData('custom_design_from');
- }
-
- public function getCustomDesignTo()
- {
- return $this->getData('custom_design_to');
- }
-
- public function getCustomLayoutUpdate()
- {
- return $this->getData('custom_layout_update');
- }
-
- public function getDescription()
- {
- return $this->getData('description');
- }
-
- public function getEnableGooglecheckout()
- {
- return $this->getData('enable_googlecheckout');
- }
-
- public function getGallery()
- {
- return $this->getData('gallery');
- }
-
- public function getGiftMessageAvailable()
- {
- return $this->getData('gift_message_available');
- }
-
- public function getGroupPrice()
- {
- return $this->getData('group_price');
- }
-
- public function getHasOptions()
- {
- return $this->getData('has_options');
- }
-
- public function getImage()
- {
- return $this->getData('image');
- }
-
- public function getImageLabel()
- {
- return $this->getData('image_label');
- }
-
- public function getManufacturer()
- {
- return $this->getData('manufacturer');
- }
-
- public function getMediaGallery()
- {
- return $this->getData('media_gallery');
- }
-
- public function getMetaDescription()
- {
- return $this->getData('meta_description');
- }
-
- public function getMetaKeyword()
- {
- return $this->getData('meta_keyword');
- }
-
- public function getMetaTitle()
- {
- return $this->getData('meta_title');
- }
-
- public function getMinimalPrice()
- {
- return $this->getData('minimal_price');
- }
-
- public function getMsrp()
- {
- return $this->getData('msrp');
- }
-
- public function getMsrpDisplayActualPriceType()
- {
- return $this->getData('msrp_display_actual_price_type');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getNewsFromDate()
- {
- return $this->getData('news_from_date');
- }
-
- public function getNewsToDate()
- {
- return $this->getData('news_to_date');
- }
-
- public function getOldId()
- {
- return $this->getData('old_id');
- }
-
- public function getOptionsContainer()
- {
- return $this->getData('options_container');
- }
-
- public function getPageLayout()
- {
- return $this->getData('page_layout');
- }
-
- public function getPrice()
- {
- return $this->getData('price');
- }
-
- public function getQuantityAndStockStatus()
- {
- return $this->getData('quantity_and_stock_status');
- }
-
- public function getRequiredOptions()
- {
- return $this->getData('required_options');
- }
-
- public function getShortDescription()
- {
- return $this->getData('short_description');
- }
-
- public function getSku()
- {
- return $this->getData('sku');
- }
-
- public function getSmallImage()
- {
- return $this->getData('small_image');
- }
-
- public function getSmallImageLabel()
- {
- return $this->getData('small_image_label');
- }
-
- public function getSpecialFromDate()
- {
- return $this->getData('special_from_date');
- }
-
- public function getSpecialPrice()
- {
- return $this->getData('special_price');
- }
-
- public function getSpecialToDate()
- {
- return $this->getData('special_to_date');
- }
-
- public function getStatus()
- {
- return $this->getData('status');
- }
-
- public function getTaxClassId()
- {
- return $this->getData('tax_class_id');
- }
-
- public function getThumbnail()
- {
- return $this->getData('thumbnail');
- }
-
- public function getThumbnailLabel()
- {
- return $this->getData('thumbnail_label');
- }
-
- public function getTierPrice()
- {
- return $this->getData('tier_price');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-
- public function getUrlKey()
- {
- return $this->getData('url_key');
- }
-
- public function getUrlPath()
- {
- return $this->getData('url_path');
- }
-
- public function getVisibility()
- {
- return $this->getData('visibility');
- }
-
- public function getWeight()
- {
- return $this->getData('weight');
- }
-
- public function getIsVirtual()
- {
- return $this->getData('is_virtual');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getTypeId()
- {
- return $this->getData('type_id');
- }
-
- public function getAttributeSetId()
- {
- return $this->getData('attribute_set_id');
- }
-
- public function getCustomOptions()
- {
- return $this->getData('custom_options');
- }
-
- public function getAttributeSetName()
- {
- return $this->getData('attribute_set_name');
- }
-
- public function getAffectedAttributeSet()
- {
- return $this->getData('affected_attribute_set');
- }
-
- public function getConfigurableAttributesData()
- {
- return $this->getData('configurable_attributes_data');
- }
-
- public function getWebsiteIds()
- {
- return $this->getData('website_ids');
- }
-
- public function getCheckoutData()
- {
- return $this->getData('checkout_data');
- }
-
- public function getUpSellProducts()
- {
- return $this->getData('up_sell_products');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProductInjectable.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProductInjectable.xml
index 5dce284fc1998..ebf560c60d456 100644
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProductInjectable.xml
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProductInjectable.xml
@@ -5,455 +5,493 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_ConfigurableProduct
eav
catalog_product
configurable
Magento\Catalog\Model\Resource\Product\Collection
sku
+ Magento\ConfigurableProduct\Test\Repository\ConfigurableProductInjectable
+ Magento\ConfigurableProduct\Test\Handler\ConfigurableProductInjectable\ConfigurableProductInjectableInterface
+
+ Configurable Product %isolation%
+ sku_configurable_product_%isolation%
+ configurable
+ configurable-product-%isolation%
+
+ - default
+
+
+ - Main Website
+
+
+ - 100.00
+
+ 1
+
+ - In Stock
+
+
+ - default
+
+
+
+ - configurable
+ -
+
- configurable
+ - 4
+
+ - product
+
-
+
category_ids
static
0
-
+
text
product-details
-
-
- configurable_attributes_data
- virtual
- 0
- variations
- variations
-
-
-
+
+
color
int
0
-
+
select
-
-
+
+
country_of_manufacture
varchar
0
-
+
select
-
-
+
+
created_at
static
1
-
+
text
-
-
+
+
custom_design
varchar
0
-
+
select
-
-
+
+
custom_design_from
datetime
0
-
+
date
-
-
+
+
custom_design_to
datetime
0
-
+
date
-
-
+
+
custom_layout_update
text
0
-
+
textarea
-
-
+
+
description
text
0
-
+
textarea
product-details
-
-
+
+
enable_googlecheckout
int
0
- 1
+ No
select
-
-
+
+
gallery
varchar
0
-
+
gallery
-
-
+
+
gift_message_available
varchar
0
-
+
select
-
-
+
+
group_price
decimal
0
-
+
text
advanced-pricing
-
-
+
+
has_options
static
0
-
+
text
-
-
+
+
image
varchar
0
-
+
media_image
-
-
+
+
image_label
varchar
0
-
+
text
-
-
+
+
manufacturer
int
0
-
+
select
-
-
+
+
media_gallery
varchar
0
-
+
gallery
-
-
+
+
meta_description
varchar
0
-
+
textarea
-
-
+
+
meta_keyword
text
0
-
+
textarea
-
-
+
+
meta_title
varchar
0
-
+
text
-
-
+
+
minimal_price
decimal
0
-
+
price
-
-
+
+
msrp
decimal
0
-
+
price
-
-
+
+
msrp_display_actual_price_type
varchar
0
- 4
+
select
-
-
+
+
name
varchar
1
-
+ Configurable Product %isolation%
text
- product_info_tabs_product-details
-
-
+ product-details
+
+
news_from_date
datetime
0
-
+
date
-
-
+
+
news_to_date
datetime
0
-
+
date
-
-
+
+
old_id
int
0
-
+
text
-
-
+
+
options_container
varchar
0
- container2
+
select
-
-
+
+
page_layout
varchar
0
-
+
select
-
-
+
+
price
decimal
1
-
+
+ - 100
+
price
- product_info_tabs_product-details
+ product-details
-
-
+
+
quantity_and_stock_status
int
0
- 1
+
+ - In Stock
+
select
- product_info_tabs_product-details
-
-
+ product-details
+
+
required_options
static
0
-
+
text
-
-
+
+
short_description
text
0
-
+
textarea
autosettings
-
-
+
+
sku
static
1
-
+ sku_configurable_product_%isolation%
text
- product_info_tabs_product-details
-
-
+ product-details
+
+
small_image
varchar
0
-
+
media_image
-
-
+
+
small_image_label
varchar
0
-
+
text
-
-
+
+
special_from_date
datetime
0
-
+
date
-
-
+
+
special_price
decimal
0
-
+
price
advanced-pricing
-
-
+
+
special_to_date
datetime
0
-
+
date
-
-
+
+
status
int
0
- Product online
+ Product online
checkbox
product-details
-
-
+
+
tax_class_id
int
0
- 2
+ Taxable Goods
select
-
-
+ product-details
+
+
+
thumbnail
varchar
0
-
+
media_image
-
-
+
+
thumbnail_label
varchar
0
-
+
text
-
-
+
+
tier_price
decimal
0
-
+
text
advanced-pricing
-
-
+
+
+
updated_at
static
1
-
+
text
-
-
+
+
url_key
varchar
0
-
+ configurable-product-%isolation%
text
search-engine-optimization
-
-
+
+
url_path
varchar
0
-
+
text
-
-
+
+
visibility
int
0
- 4
+ Catalog, Search
select
autosettings
-
-
+
+
weight
decimal
0
-
+ 1
weight
- product_info_tabs_product-details
-
-
+ product-details
+
+
is_virtual
virtual
-
-
+ product-details
+
+
id
virtual
-
-
+
+
type_id
virtual
-
-
-
+ null
+ configurable
+
+
attribute_set_id
-
virtual
product-details
-
-
+
+
+ - default
+
+
+
attribute_set_name
virtual
- product-details
-
-
+ variations
+
+
affected_attribute_set
virtual
-
-
+ null
+
+
custom_options
virtual
- customer-options
0
+ customer-options
-
-
+
+
+ configurable_attributes_data
+ virtual
+ 0
+ variations
+ variations
+
+
+ - default
+
+
+
website_ids
virtual
- Main Website
+
+ - Main Website
+
websites
-
-
+
+
checkout_data
virtual
-
+ null
-
-
+
+
up_sell_products
virtual
upsells
-
+
-
-
-
-
-
-
-
-
-
- configurable
- 4
-
- product
-
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/Curl/CreateConfigurable.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/Curl/CreateConfigurable.php
index 8b584d3b54960..f7056fc4af858 100644
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/Curl/CreateConfigurable.php
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/Curl/CreateConfigurable.php
@@ -1,6 +1,5 @@
_data['default'] = [
- 'name' => 'Test configurable product %isolation%',
- 'sku' => 'sku_test_configurable_product_%isolation%',
- 'price' => ['value' => 120.00],
- 'weight' => 30.0000,
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'configurable-product-%isolation%',
- 'configurable_attributes_data' => ['preset' => 'default'],
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'checkout_data' => ['preset' => 'default'],
- ];
-
- $this->_data['product_with_size'] = [
- 'name' => 'Test configurable product with size %isolation%',
- 'sku' => 'sku_test_configurable_product_%isolation%',
- 'price' => ['value' => 120.00],
- 'weight' => 30.0000,
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'configurable-product-%isolation%',
- 'configurable_attributes_data' => ['preset' => 'size'],
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'checkout_data' => ['preset' => 'default'],
- ];
-
- $this->_data['product_with_color_and_size'] = [
- 'name' => 'Test configurable product with color and size %isolation%',
- 'sku' => 'sku_test_configurable_product_%isolation%',
- 'price' => ['value' => 120.00],
- 'weight' => 30.0000,
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'configurable-product-%isolation%',
- 'configurable_attributes_data' => ['preset' => 'color_and_size'],
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'checkout_data' => ['preset' => 'default'],
- ];
-
- $this->_data['one_variation'] = [
- 'name' => 'Test configurable product %isolation%',
- 'sku' => 'sku_test_configurable_product_%isolation%',
- 'price' => ['value' => 120.00],
- 'weight' => 30.0000,
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'test-configurable-product-%isolation%',
- 'configurable_attributes_data' => ['preset' => 'one_variation'],
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- ];
-
- $this->_data['not_virtual_for_type_switching'] = [
- 'name' => 'Test configurable product %isolation%',
- 'sku' => 'sku_test_configurable_product_%isolation%',
- 'price' => ['value' => 120.00],
- 'is_virtual' => 'No',
- 'weight' => 30.0000,
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'configurable-product-%isolation%',
- 'configurable_attributes_data' => ['preset' => 'default'],
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'checkout_data' => ['preset' => 'default'],
- ];
-
- $this->_data['with_one_option'] = [
- 'name' => 'Test configurable product %isolation%',
- 'sku' => 'sku_test_configurable_product_%isolation%',
- 'price' => ['value' => 10.00],
- 'weight' => 30.0000,
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'configurable-product-%isolation%',
- 'configurable_attributes_data' => ['preset' => 'with_one_option'],
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'checkout_data' => ['preset' => 'with_one_option'],
- ];
-
- $this->_data['with_out_of_stock_item'] = [
- 'name' => 'Test configurable product %isolation%',
- 'sku' => 'sku_test_configurable_product_%isolation%',
- 'price' => ['value' => 120.00],
- 'weight' => 30.0000,
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'test-configurable-product-%isolation%',
- 'configurable_attributes_data' => ['preset' => 'with_out_of_stock_item'],
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- ];
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProductInjectable.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProductInjectable.xml
new file mode 100644
index 0000000000000..5290b878250fa
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProductInjectable.xml
@@ -0,0 +1,215 @@
+
+
+
+
+
+ Test configurable product %isolation%
+ sku_test_configurable_product_%isolation%
+
+ - 120
+
+ 30
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ configurable-product-%isolation%
+
+ - default
+
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+ - default
+
+
+
+
+ Test configurable product with size %isolation%
+ sku_test_configurable_product_%isolation%
+
+ - 120
+
+ 30
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ configurable-product-%isolation%
+
+ - size
+
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+ - default
+
+
+
+
+ Test configurable product with color and size %isolation%
+ sku_test_configurable_product_%isolation%
+
+ - 120
+
+ 30
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ configurable-product-%isolation%
+
+ - color_and_size
+
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+ - default
+
+
+
+
+ Test configurable product %isolation%
+ sku_test_configurable_product_%isolation%
+
+ - 120
+
+ 30
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ test-configurable-product-%isolation%
+
+ - one_variation
+
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+
+
+ Test configurable product %isolation%
+ sku_test_configurable_product_%isolation%
+
+ - 120
+
+ No
+ 30
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ configurable-product-%isolation%
+
+ - default
+
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+ - default
+
+
+
+
+ Test configurable product %isolation%
+ sku_test_configurable_product_%isolation%
+
+ - 10
+
+ 30
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ configurable-product-%isolation%
+
+ - with_one_option
+
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+ - with_one_option
+
+
+
+
+ Test configurable product %isolation%
+ sku_test_configurable_product_%isolation%
+
+ - 120
+
+ 30
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ test-configurable-product-%isolation%
+
+ - with_out_of_stock_item
+
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest/test.csv
index 86da61ac30da5..c282092f255db 100644
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest/test.csv
@@ -1,5 +1,5 @@
-"product/data/configurable_attributes_data/preset";"product/data/checkout_data/preset";"product/data/name";"product/data/sku";"product/data/tax_class_id";"product/data/price/value";"product/data/special_price";"product/data/category_ids/presets";"product/data/short_description";"product/data/description";"product/data/weight";"product/data/quantity_and_stock_status/is_in_stock";"product/data/affected_attribute_set";"constraint";"issue"
-"two_new_options";"two_new_options";"Configurable Product %isolation%";"configurable_sku_%isolation%";"-";"100";"-";"default_subcategory";"Configurable short description";"Configurable Product description %isolation%";"2";"In Stock";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertChildProductsInGrid, assertConfigurableProductForm, assertProductInCategory, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart, assertChildProductIsNotDisplayedSeparately";""
-"two_options";"two_options";"Configurable Product %isolation%";"configurable_sku_%isolation%";"-";"100";"-";"-";"Configurable short description";"Configurable Product description %isolation%";"2";"-";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertChildProductsInGrid, assertConfigurableProductForm, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart";""
-"two_new_options";"two_new_options_with_special_price";"Configurable Product %isolation%";"configurable_sku_%isolation%";"-";"100";"10";"-";"Configurable short description";"Configurable Product description %isolation%";"2";"In Stock";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertChildProductsInGrid, assertConfigurableProductForm, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart, assertProductSpecialPriceOnProductPage";""
-"two_options_with_assigned_product";"two_options_with_assigned_product";"Configurable Product %isolation%";"configurable_sku_%isolation%";"-";"100";"-";"-";"Configurable short description";"Configurable Product description %isolation%";"2";"In Stock";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertConfigurableProductForm, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart";""
+"product/data/url_key";"product/data/configurable_attributes_data/preset";"product/data/checkout_data/preset";"product/data/name";"product/data/sku";"product/data/tax_class_id";"product/data/price/value";"product/data/special_price";"product/data/category_ids/presets";"product/data/short_description";"product/data/description";"product/data/weight";"product/data/quantity_and_stock_status/is_in_stock";"product/data/affected_attribute_set";"constraint";"issue"
+"configurable-product-%isolation%";"two_new_options";"two_new_options";"Configurable Product %isolation%";"configurable_sku_%isolation%";"-";"100";"-";"default_subcategory";"Configurable short description";"Configurable Product description %isolation%";"2";"In Stock";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertChildProductsInGrid, assertConfigurableProductForm, assertProductInCategory, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart, assertChildProductIsNotDisplayedSeparately";""
+"configurable-product-%isolation%";"two_options";"two_options";"Configurable Product %isolation%";"configurable_sku_%isolation%";"-";"100";"-";"-";"Configurable short description";"Configurable Product description %isolation%";"2";"-";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertChildProductsInGrid, assertConfigurableProductForm, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart";""
+"configurable-product-%isolation%";"two_new_options";"two_new_options_with_special_price";"Configurable Product %isolation%";"configurable_sku_%isolation%";"-";"100";"10";"-";"Configurable short description";"Configurable Product description %isolation%";"2";"In Stock";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertChildProductsInGrid, assertConfigurableProductForm, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart, assertProductSpecialPriceOnProductPage";""
+"configurable-product-%isolation%";"two_options_with_assigned_product";"two_options_with_assigned_product";"Configurable Product %isolation%";"configurable_sku_%isolation%";"-";"100";"-";"-";"Configurable short description";"Configurable Product description %isolation%";"2";"In Stock";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertConfigurableProductForm, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart";""
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest/test.csv
index 5effa53ae4f8b..2d4653b21fefe 100644
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest/test.csv
@@ -1,5 +1,5 @@
-"description";"attributeTypeAction";"updatedProduct/data/configurable_attributes_data/preset";"updatedProduct/data/checkout_data/preset";"updatedProduct/data/checkout_data/cartItem/price";"updatedProduct/data/name";"updatedProduct/data/sku";"updatedProduct/data/price/value";"updatedProduct/data/category_ids/presets";"updatedProduct/data/short_description";"updatedProduct/data/description";"updatedProduct/data/weight";"updatedProduct/data/quantity_and_stock_status/is_in_stock";"updatedProduct/data/affected_attribute_set";"constraint";"issue"
-"Add new option to existed Attribute";"addOptions";"one_new_options";"two_attributes";"153";"Configurable Product %isolation%";"configurable_sku_%isolation%";"99";"default_subcategory";"Configurable short description";"Configurable Product description %isolation%";"3";"In Stock";"-";"assertProductSaveMessage, assertProductInGrid, assertChildProductsInGrid, assertConfigurableProductForm, assertProductInCategory, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart, assertChildProductIsNotDisplayedSeparately";""
-"Add new variations";"";"two_new_options";"three_attributes";"159";"Configurable Product %isolation%";"configurable_sku_%isolation%";"99";"-";"Configurable short description";"Configurable Product description %isolation%";"3";"In Stock";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertConfigurableProductForm, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart";""
-"Delete one attribute and add another";"deleteLast";"two_new_options";"two_attributes";"112";"Configurable Product %isolation%";"configurable_sku_%isolation%";"99";"default_subcategory";"Configurable short description";"Configurable Product description %isolation%";"3";"In Stock";"-";"assertProductSaveMessage, assertProductInGrid, assertConfigurableProductForm, assertProductInCategory, assertProductInStock, assertConfigurableProductInCart, assertConfigurableAttributesAbsentOnProductPage";""
-"Delete attribute and add another with products qty = 0";"deleteAll";"two_new_options_with_zero_products";"two_attributes";"";"Configurable Product %isolation%";"configurable_sku_%isolation%";"99";"-";"Configurable short description";"Configurable Product description %isolation%";"3";"In Stock";"-";"assertProductSaveMessage, assertProductInGrid, assertConfigurableProductForm, assertConfigurableAttributesBlockIsAbsentOnProductPage, assertProductOutOfStock";""
+"description";"attributeTypeAction";"updatedProduct/data/configurable_attributes_data/preset";"updatedProduct/data/checkout_data/preset";"updatedProduct/data/checkout_data/cartItem/price";"updatedProduct/data/name";"updatedProduct/data/sku";"updatedProduct/data/price/value";"updatedProduct/data/category_ids/presets";"updatedProduct/data/short_description";"updatedProduct/data/description";"updatedProduct/data/weight";"updatedProduct/data/quantity_and_stock_status/is_in_stock";"product/data/url_key";"updatedProduct/data/affected_attribute_set";"constraint"
+"Add new option to existed Attribute";"addOptions";"one_new_options";"two_attributes";"153";"Configurable Product %isolation%";"configurable_sku_%isolation%";"99";"default_subcategory";"Configurable short description";"Configurable Product description %isolation%";"3";"In Stock";"configurable-product-%isolation%";"-";"assertProductSaveMessage, assertProductInGrid, assertChildProductsInGrid, assertConfigurableProductForm, assertProductInCategory, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart, assertChildProductIsNotDisplayedSeparately"
+"Add new variations";"";"two_new_options";"three_attributes";"159";"Configurable Product %isolation%";"configurable_sku_%isolation%";"99";"-";"Configurable short description";"Configurable Product description %isolation%";"3";"In Stock";"configurable-product-%isolation%";"custom_attribute_set_%isolation%";"assertProductSaveMessage, assertProductInGrid, assertConfigurableProductForm, assertConfigurableProductPage, assertProductInStock, assertConfigurableProductInCart"
+"Delete one attribute and add another";"deleteLast";"two_new_options";"two_attributes";"112";"Configurable Product %isolation%";"configurable_sku_%isolation%";"99";"default_subcategory";"Configurable short description";"Configurable Product description %isolation%";"3";"In Stock";"configurable-product-%isolation%";"-";"assertProductSaveMessage, assertProductInGrid, assertConfigurableProductForm, assertProductInCategory, assertProductInStock, assertConfigurableProductInCart, assertConfigurableAttributesAbsentOnProductPage"
+"Delete attribute and add another with products qty = 0";"deleteAll";"two_new_options_with_zero_products";"two_attributes";"";"Configurable Product %isolation%";"configurable_sku_%isolation%";"99";"-";"Configurable short description";"Configurable Product description %isolation%";"3";"In Stock";"configurable-product-%isolation%";"-";"assertProductSaveMessage, assertProductInGrid, assertConfigurableProductForm, assertConfigurableAttributesBlockIsAbsentOnProductPage, assertProductOutOfStock"
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/fixture.xml
index 3ee2334cb31d2..0e17df6aa1ac2 100644
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/fixture.xml
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/fixture.xml
@@ -34,13 +34,13 @@
Magento\ConfigurableProduct\Test\Fixture\ConfigurableProductInjectable\ConfigurableOptions
-
+
-
+
configurable
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.php b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.php
deleted file mode 100644
index 0dd119e2d3605..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.php
+++ /dev/null
@@ -1,104 +0,0 @@
- 'section',
- 'backend_type' => 'virtual',
- ];
-
- protected $config_id = [
- 'attribute_code' => 'config_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $scope = [
- 'attribute_code' => 'scope',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => 'default',
- 'input' => '',
- ];
-
- protected $scope_id = [
- 'attribute_code' => 'scope_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $path = [
- 'attribute_code' => 'path',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => 'general',
- 'input' => '',
- ];
-
- protected $value = [
- 'attribute_code' => 'value',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- public function getSection()
- {
- return $this->getData('section');
- }
-
- public function getConfigId()
- {
- return $this->getData('config_id');
- }
-
- public function getScope()
- {
- return $this->getData('scope');
- }
-
- public function getScopeId()
- {
- return $this->getData('scope_id');
- }
-
- public function getPath()
- {
- return $this->getData('path');
- }
-
- public function getValue()
- {
- return $this->getData('value');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.xml
index b720ee2ed80a9..c6868dfef0a60 100644
--- a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.xml
+++ b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.xml
@@ -5,52 +5,54 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Core
flat
core_config_data
Magento\Core\Model\Resource\Config\Data\Collection
+ Magento\Core\Test\Repository\ConfigData
+ Magento\Core\Test\Handler\ConfigData\ConfigDataInterface
-
-
+
+
config_id
int
1
-
+
-
-
+
+
scope
varchar
- default
+ default
-
-
+
+
scope_id
int
- 0
+ 0
-
-
+
+
path
varchar
- general
+ general
-
-
+
+
value
text
-
+
-
+
- Magento\Core\Test\Repository\ConfigData
- Magento\Core\Test\Handler\ConfigData\ConfigDataInterface
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.php b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.php
deleted file mode 100644
index 5dc92e19efbd6..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.php
+++ /dev/null
@@ -1,129 +0,0 @@
- 'variableCode%isolation%',
- 'name' => 'variableName%isolation%',
- 'html_value' => "html_value
",
- 'plain_value' => 'plain_value',
- ];
-
- protected $variable_id = [
- 'attribute_code' => 'variable_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $code = [
- 'attribute_code' => 'code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $value_id = [
- 'attribute_code' => 'value_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $store_id = [
- 'attribute_code' => 'store_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $plain_value = [
- 'attribute_code' => 'plain_value',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $html_value = [
- 'attribute_code' => 'html_value',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $use_default_value = [
- 'attribute_code' => 'use_default_value',
- 'backend_type' => 'virtual',
- 'input' => 'select',
- ];
-
- public function getVariableId()
- {
- return $this->getData('variable_id');
- }
-
- public function getCode()
- {
- return $this->getData('code');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getValueId()
- {
- return $this->getData('value_id');
- }
-
- public function getStoreId()
- {
- return $this->getData('store_id');
- }
-
- public function getPlainValue()
- {
- return $this->getData('plain_value');
- }
-
- public function getHtmlValue()
- {
- return $this->getData('html_value');
- }
-
- public function getUseDefaultValue()
- {
- return $this->getData('use_default_value');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.xml b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.xml
index f157152f8fa8c..ccaf981cef37f 100644
--- a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.xml
+++ b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.xml
@@ -5,69 +5,77 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Core
composite
- core_variable
- core_variable_value
+
+
Magento\Core\Model\Resource\Variable\Collection
+ Magento\Core\Test\Handler\SystemVariable\SystemVariableInterface
+
+ variableCode%isolation%
+ variableName%isolation%
+ <p>html_value</p>
+ plain_value
+
-
+
variable_id
int
- 0
+ 0
-
-
+
+
code
varchar
-
+ variableCode%isolation%
-
-
+
+
name
varchar
-
+ variableName%isolation%
-
-
+
+
value_id
int
1
-
+
-
-
+
+
store_id
smallint
- 0
+ 0
-
-
+
+
plain_value
text
-
+ plain_value
-
-
+
+
html_value
text
-
+ <p>html_value</p>
-
-
+
+
use_default_value
virtual
select
-
+
- Magento\Core\Test\Handler\SystemVariable\SystemVariableInterface
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Repository/SystemVariable.php b/dev/tests/functional/tests/app/Magento/Core/Test/Repository/SystemVariable.php
deleted file mode 100644
index 4135d0431d54d..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Core/Test/Repository/SystemVariable.php
+++ /dev/null
@@ -1,33 +0,0 @@
-_data['custom_variable'] = [
- 'variable[code]' => 'variableCode%isolation%',
- 'variable[name]' => 'variableName%isolation%',
- 'variable[html_value]' => "variableName%isolation%
",
- 'variable[plain_value]' => 'variableName%isolation%',
- ];
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Repository/SystemVariable.xml b/dev/tests/functional/tests/app/Magento/Core/Test/Repository/SystemVariable.xml
new file mode 100644
index 0000000000000..e38b91df291d2
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Core/Test/Repository/SystemVariable.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ - 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/Core/Test/TestStep/SetupConfigurationStep.php b/dev/tests/functional/tests/app/Magento/Core/Test/TestStep/SetupConfigurationStep.php
new file mode 100644
index 0000000000000..9b6daf2f9704d
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Core/Test/TestStep/SetupConfigurationStep.php
@@ -0,0 +1,79 @@
+fixtureFactory = $fixtureFactory;
+ $this->configData = $configData;
+ $this->rollback = $rollback;
+ }
+
+ /**
+ * Set config
+ *
+ * @return array
+ */
+ public function run()
+ {
+ if ($this->configData === '-') {
+ return [];
+ }
+ $prefix = ($this->rollback == false) ? '' : '_rollback';
+
+ $configData = array_map('trim', explode(',', $this->configData));
+ $result = [];
+
+ foreach ($configData as $configDataSet) {
+ $config = $this->fixtureFactory->createByCode('configData', ['dataSet' => $configDataSet . $prefix]);
+ if ($config->hasData('section')) {
+ $config->persist();
+ $result[] = $config;
+ }
+ }
+
+ return ['config' => $result];
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/GridPageActions.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/GridPageActions.php
new file mode 100644
index 0000000000000..0885f0a1e9006
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/GridPageActions.php
@@ -0,0 +1,67 @@
+_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;
+ }
+ );
+ if ($this->getMessageBlock()->isVisibleMessage('warning')) {
+ throw new \Exception($this->getMessageBlock()->getWarningMessages());
+ }
+ }
+
+ /**
+ * Get message block.
+ *
+ * @return Messages
+ */
+ protected function getMessageBlock()
+ {
+ return $this->blockFactory->create(
+ 'Magento\Core\Test\Block\Messages',
+ ['element' => $this->_rootElement->find($this->message)]
+ );
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/MainPageActions.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/MainPageActions.php
new file mode 100644
index 0000000000000..14f7bf7af1bbe
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/MainPageActions.php
@@ -0,0 +1,33 @@
+_rootElement->find($this->saveCurrentRate)->click();
+ }
+}
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
new file mode 100644
index 0000000000000..020ae28779832
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/CurrencySymbolForm.php
@@ -0,0 +1,39 @@
+_rootElement->find(sprintf($this->currencyRow, $fixture->getCode()), Locator::SELECTOR_XPATH);
+ return parent::fill($fixture, $element);
+ }
+}
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
new file mode 100644
index 0000000000000..33b9d477cd558
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/CurrencySymbolForm.xml
@@ -0,0 +1,21 @@
+
+
+
+ variable
+
+
+ [id^=custom_currency_symbol_inherit]
+ css selector
+ checkbox
+
+
+ [id^=custom_currency_symbol]
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..e543ba4e44085
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/FormPageActions.php
@@ -0,0 +1,23 @@
+getCategoryIds()[0];
+ $cmsIndex->open();
+ $cmsIndex->getCurrencyBlock()->switchCurrency($currencySymbol);
+ $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
+ $price = $catalogCategoryView->getListProductBlock()->getPrice($product->getId());
+ 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
new file mode 100644
index 0000000000000..b00d27a778221
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPage.php
@@ -0,0 +1,65 @@
+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/AssertCurrencySymbolSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolSuccessSaveMessage.php
new file mode 100644
index 0000000000000..262cebd7b3a94
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolSuccessSaveMessage.php
@@ -0,0 +1,49 @@
+getMessagesBlock()->getSuccessMessages();
+ \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
new file mode 100644
index 0000000000000..b9b6fb5804d5d
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Fixture/CurrencySymbolEntity.xml
@@ -0,0 +1,72 @@
+
+
+
+ Magento_CurrencySymbol
+ flat
+ core_config_data
+ Magento\CurrencySymbol\Test\Repository\CurrencySymbolEntity
+ Magento\CurrencySymbol\Test\Handler\CurrencySymbolEntity\CurrencySymbolEntityInterface
+
+ Yes
+
+
+
+ config_id
+ int
+ 1
+
+
+
+
+ scope
+ varchar
+
+ default
+
+
+
+ scope_id
+ int
+
+ 0
+
+
+
+ path
+ varchar
+
+ general
+
+
+
+ value
+ text
+
+
+
+
+
+ inherit_custom_currency_symbol
+ virtual
+ checkbox
+ Yes
+
+
+ custom_currency_symbol
+ virtual
+
+
+
+ code
+ virtual
+
+
+
+
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
new file mode 100644
index 0000000000000..616500d5f0996
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/Curl.php
@@ -0,0 +1,38 @@
+getData();
+ $url = $_ENV['app_backend_url'] . 'admin/system_currencysymbol/save';
+ $curl = new BackendDecorator(new CurlTransport(), new Config());
+ $curl->write(CurlInterface::POST, $url, '1.0', [], $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
new file mode 100644
index 0000000000000..e964969586806
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/CurrencySymbolEntityInterface.php
@@ -0,0 +1,17 @@
+
+
+
+
+
+ Magento\CurrencySymbol\Test\Block\Adminhtml\System\Currency\GridPageActions
+ .grid-actions
+ css selector
+
+
+ Magento\CurrencySymbol\Test\Block\Adminhtml\System\Currency\MainPageActions
+ .page-main-actions
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..cec7ec7d9b1b0
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/SystemCurrencySymbolIndex.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ Magento\Core\Test\Block\Messages
+ #messages
+ css selector
+
+
+ Magento\CurrencySymbol\Test\Block\Adminhtml\System\CurrencySymbolForm
+ #currency-symbols-form
+ css selector
+
+
+ Magento\CurrencySymbol\Test\Block\Adminhtml\System\FormPageActions
+ .page-main-actions
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..b7dded3a56ca8
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Repository/CurrencySymbolEntity.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ - custom
+
+
+
+
+
+ - €
+
+ EUR
+
+
+
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
new file mode 100644
index 0000000000000..71d6d450faa75
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest.php
@@ -0,0 +1,127 @@
+Currency Symbols
+ * 3. Make changes according to dataset.
+ * 4. Click 'Save Currency Symbols' button
+ * 5. Perform all asserts.
+ *
+ * @group Currency_(PS)
+ * @ZephyrId MAGETWO-26600
+ */
+class EditCurrencySymbolEntityTest extends Injectable
+{
+ /* tags */
+ const MVP = 'no';
+ const DOMAIN = 'PS';
+ /* end tags */
+
+ /**
+ * System Currency Symbol grid page
+ *
+ * @var SystemCurrencySymbolIndex
+ */
+ protected $currencySymbolIndex;
+
+ /**
+ * System currency index page.
+ *
+ * @var SystemCurrencyIndex
+ */
+ protected $currencyIndex;
+
+ /**
+ * Create simple product and inject pages.
+ *
+ * @param SystemCurrencySymbolIndex $currencySymbolIndex
+ * @param SystemCurrencyIndex $currencyIndex,
+ * @param FixtureFactory $fixtureFactory
+ * @return array
+ */
+ public function __inject(
+ SystemCurrencySymbolIndex $currencySymbolIndex,
+ SystemCurrencyIndex $currencyIndex,
+ FixtureFactory $fixtureFactory
+ ) {
+ $this->currencySymbolIndex = $currencySymbolIndex;
+ $this->currencyIndex = $currencyIndex;
+
+ /**@var CatalogProductSimple $catalogProductSimple */
+ $product = $fixtureFactory->createByCode(
+ 'catalogProductSimple',
+ ['dataSet' => 'product_with_category']
+ );
+ $product->persist();
+
+ return ['product' => $product];
+ }
+
+ /**
+ * 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();
+ }
+
+ /**
+ * Import currency rates.
+ *
+ * @param string $configData
+ * @return void
+ */
+ protected function importCurrencyRate($configData)
+ {
+ $this->objectManager->getInstance()->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => $configData]
+ )->run();
+
+ // Import Exchange Rates for currencies
+ $this->currencyIndex->open();
+ $this->currencyIndex->getGridPageActions()->clickImportButton();
+ $this->currencyIndex->getMainPageActions()->saveCurrentRate();
+ }
+
+ /**
+ * Disabling currency which has been added.
+ *
+ * @return void
+ */
+ public function tearDown()
+ {
+ $this->objectManager->getInstance()->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'config_currency_symbols_usd']
+ )->run();
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest/test.csv
new file mode 100644
index 0000000000000..76667d5cce30f
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest/test.csv
@@ -0,0 +1,4 @@
+"configData";"currencySymbol/data/code";"currencySymbol/data/inherit_custom_currency_symbol";"currencySymbol/data/custom_currency_symbol";"constraint"
+"config_currency_symbols_usd_and_uah";"UAH";"No";"custom";"assertCurrencySymbolSuccessSaveMessage, assertCurrencySymbolOnProductPage, assertCurrencySymbolOnCatalogPage"
+"config_currency_symbols_usd_and_uah";"UAH";"No";"&";"assertCurrencySymbolSuccessSaveMessage, assertCurrencySymbolOnProductPage, assertCurrencySymbolOnCatalogPage"
+"config_currency_symbols_usd_and_uah";"UAH";"No";"%";"assertCurrencySymbolSuccessSaveMessage, assertCurrencySymbolOnProductPage, assertCurrencySymbolOnCatalogPage"
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
new file mode 100644
index 0000000000000..6c4dbffee168c
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest.php
@@ -0,0 +1,171 @@
+Currency Symbols
+ * 3. Make changes according to dataset.
+ * 4. Click 'Save Currency Symbols' button
+ * 5. Perform all asserts.
+ *
+ * @group Currency_(PS)
+ * @ZephyrId MAGETWO-26638
+ */
+class ResetCurrencySymbolEntityTest extends Injectable
+{
+ /* tags */
+ const MVP = 'no';
+ const DOMAIN = 'PS';
+ /* end tags */
+
+ /**
+ * System currency symbol grid page.
+ *
+ * @var SystemCurrencySymbolIndex
+ */
+ protected $currencySymbolIndex;
+
+ /**
+ * System currency index page.
+ *
+ * @var SystemCurrencyIndex
+ */
+ protected $currencyIndex;
+
+ /**
+ * Currency symbol entity fixture.
+ *
+ * @var CurrencySymbolEntity
+ */
+ protected $currencySymbolDefault;
+
+ /**
+ * Fixture Factory.
+ *
+ * @var FixtureFactory
+ */
+ protected $fixtureFactory;
+
+ /**
+ * Prepare data. Create simple product.
+ *
+ * @param FixtureFactory $fixtureFactory
+ * @return array
+ */
+ public function __prepare(FixtureFactory $fixtureFactory)
+ {
+ $this->fixtureFactory = $fixtureFactory;
+ $product = $this->fixtureFactory->createByCode(
+ 'catalogProductSimple',
+ ['dataSet' => 'product_with_category']
+ );
+ $product->persist();
+
+ return ['product' => $product];
+ }
+
+ /**
+ * Injection data.
+ *
+ * @param SystemCurrencySymbolIndex $currencySymbolIndex
+ * @param SystemCurrencyIndex $currencyIndex
+ * @param CurrencySymbolEntity $currencySymbolDefault
+ * @return array
+ */
+ public function __inject(
+ SystemCurrencySymbolIndex $currencySymbolIndex,
+ SystemCurrencyIndex $currencyIndex,
+ CurrencySymbolEntity $currencySymbolDefault
+ ) {
+ $this->currencySymbolIndex = $currencySymbolIndex;
+ $this->currencyIndex = $currencyIndex;
+ $this->currencySymbolDefault = $currencySymbolDefault;
+ }
+
+ /**
+ * 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->getCurrencySymbolForm()->fill($currencySymbol);
+ $this->currencySymbolIndex->getPageActions()->save();
+
+ return [
+ 'currencySymbol' => $this->fixtureFactory->createByCode(
+ 'currencySymbolEntity',
+ [
+ 'data' => array_merge(
+ $currencySymbol->getData(),
+ ['custom_currency_symbol' => $currencySymbolDefault]
+ )
+ ]
+ )
+ ];
+ }
+
+ /**
+ * Import currency rates.
+ *
+ * @param string $configData
+ * @return void
+ */
+ protected function importCurrencyRate($configData)
+ {
+ $this->objectManager->getInstance()->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => $configData]
+ )->run();
+
+ // Import Exchange Rates for currencies
+ $this->currencyIndex->open();
+ $this->currencyIndex->getGridPageActions()->clickImportButton();
+ $this->currencyIndex->getMainPageActions()->saveCurrentRate();
+ }
+
+ /**
+ * Disabling currency which has been added.
+ *
+ * @return void
+ */
+ public function tearDown()
+ {
+ $this->objectManager->getInstance()->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'config_currency_symbols_usd']
+ )->run();
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest/test.csv
new file mode 100644
index 0000000000000..87c2b788cf8aa
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest/test.csv
@@ -0,0 +1,2 @@
+"configData";"currencySymbolOriginal/dataSet";"currencySymbol/data/code";"currencySymbolDefault";"currencySymbol/data/inherit_custom_currency_symbol";"currencySymbol/data/custom_currency_symbol";"constraint"
+"config_currency_symbols_usd_and_uah";"currency_symbols_uah";"UAH";"₴";"Yes";"-";"assertCurrencySymbolSuccessSaveMessage, assertCurrencySymbolOnProductPage,assertCurrencySymbolOnCatalogPage"
diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/constraint.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/constraint.xml
new file mode 100644
index 0000000000000..78f3c53be7348
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/constraint.xml
@@ -0,0 +1,34 @@
+
+
+
+
+ low
+
+
+
+
+
+ low
+
+
+
+
+
+
+
+
+
+ low
+
+
+
+
+
+
+
+
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
new file mode 100644
index 0000000000000..76bdc279015ae
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/curl/di.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/fixture.xml
new file mode 100644
index 0000000000000..5962b3aa9eff5
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/fixture.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ flat
+ core_config_data
+
+
diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/page.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/page.xml
new file mode 100644
index 0000000000000..cb3ed49949e36
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/page.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ admin/system_currencysymbol/index
+ adminhtml
+ Magento\CurrencySymbol\Test\Page\Adminhtml\SystemCurrencySymbolIndex
+
+
+ admin/system_currency/index
+ adminhtml
+ Magento\CurrencySymbol\Test\Page\Adminhtml\SystemCurrencyIndex
+
+
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
index 36c9687789073..80b259639594c 100644
--- 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
@@ -1,6 +1,5 @@
hasData() : true;
$this->waitForm();
+ $this->waitFields();
+
+ $isHasData = ($customer instanceof InjectableFixture) ? $customer->hasData() : true;
if ($isHasData) {
parent::fill($customer);
}
@@ -53,7 +85,7 @@ public function fillCustomer(FixtureInterface $customer, $address = null)
}
/**
- * Update Customer forms on tabs by customer, addresses data
+ * Update Customer forms on tabs by customer, addresses data.
*
* @param FixtureInterface $customer
* @param FixtureInterface|FixtureInterface[]|null $address
@@ -61,8 +93,9 @@ public function fillCustomer(FixtureInterface $customer, $address = null)
*/
public function updateCustomer(FixtureInterface $customer, $address = null)
{
- $isHasData = ($customer instanceof InjectableFixture) ? $customer->hasData() : true;
$this->waitForm();
+
+ $isHasData = ($customer instanceof InjectableFixture) ? $customer->hasData() : true;
if ($isHasData) {
parent::fill($customer);
}
@@ -84,8 +117,8 @@ public function updateCustomer(FixtureInterface $customer, $address = null)
public function getDataCustomer(FixtureInterface $customer, $address = null)
{
$this->waitForm();
- $data = ['customer' => $customer->hasData() ? parent::getData($customer) : parent::getData()];
+ $data = ['customer' => $customer->hasData() ? parent::getData($customer) : parent::getData()];
if (null !== $address) {
$this->openTab('addresses');
$data['addresses'] = $this->getTabElement('addresses')->getDataAddresses($address);
@@ -105,4 +138,22 @@ protected function waitForm()
$this->waitForElementNotVisible($this->spinner);
$this->waitForElementVisible($this->activeFormTab);
}
+
+ /**
+ * Wait for User before fill form which calls JS validation on correspondent fields of form.
+ * See details in MAGETWO-31435.
+ *
+ * @return void
+ */
+ protected function waitFields()
+ {
+ /* Wait for field label is visible in the form */
+ $this->waitForElementVisible($this->fieldLabel, Locator::SELECTOR_XPATH);
+ /* Wait for render all field's labels(assert that absent field without label) in the form */
+ $this->waitForElementNotVisible($this->fieldLabelAbsent, Locator::SELECTOR_XPATH);
+ /* Wait for field's control block is visible in the form */
+ $this->waitForElementVisible($this->fieldWrapperControl, Locator::SELECTOR_XPATH);
+ /* Wait for render all field's control blocks(assert that absent field without control block) in the form */
+ $this->waitForElementNotVisible($this->fieldWrapperControlAbsent, Locator::SELECTOR_XPATH);
+ }
}
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
index 864fbb11f815d..22b5a2b92ec64 100644
--- 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
@@ -7,41 +7,46 @@
namespace Magento\Customer\Test\Block\Adminhtml\Edit\Tab;
use Magento\Backend\Test\Block\Widget\Tab;
-use Magento\Customer\Test\Fixture\AddressInjectable;
use Magento\Mtf\Client\Element\SimpleElement;
use Magento\Mtf\Client\Element;
use Magento\Mtf\Client\Locator;
use Magento\Mtf\Fixture\FixtureInterface;
/**
- * Class Addresses
- * Customer addresses edit block
+ * Customer addresses edit block.
*/
class Addresses extends Tab
{
/**
- * "Add New Customer" button
+ * "Add New Customer" button.
*
* @var string
*/
protected $addNewAddress = '.address-list-actions .add';
/**
- * Open customer address
+ * Open customer address.
*
* @var string
*/
protected $customerAddress = '//*[contains(@class, "address-list-item")][%d]';
/**
- * Magento loader
+ * Active address tab.
+ *
+ * @var string
+ */
+ protected $addressTab = '.address-item-edit[data-bind="visible: element.active"]:not([style="display: none;"])';
+
+ /**
+ * Magento loader.
*
* @var string
*/
protected $loader = '//ancestor::body/div[@data-role="loader"]';
/**
- * Fill customer addresses
+ * Fill customer addresses.
*
* @param FixtureInterface|FixtureInterface[] $address
* @return $this
@@ -51,15 +56,6 @@ public function fillAddresses($address)
$addresses = is_array($address) ? $address : [$address];
foreach ($addresses as $address) {
$this->addNewAddress();
-
- /* Fix switch between region_id and region */
- /** @var AddressInjectable $address */
- $countryId = $address->getCountryId();
- if ($countryId && $this->mapping['country_id']) {
- $this->_fill($this->dataMapping(['country_id' => $countryId]));
- $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH);
- }
-
$this->fillFormTab($address->getData(), $this->_rootElement);
}
@@ -67,7 +63,7 @@ public function fillAddresses($address)
}
/**
- * Update customer addresses
+ * Update customer addresses.
*
* @param FixtureInterface|FixtureInterface[] $address
* @return $this
@@ -90,13 +86,6 @@ public function updateAddresses($address)
}
$this->openCustomerAddress($addressNumber);
- /* Fix switch between region_id and region */
- /** @var AddressInjectable $address */
- $countryId = $address->getCountryId();
- if ($countryId && $this->mapping['country_id']) {
- $this->_fill($this->dataMapping(['country_id' => $countryId]));
- $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH);
- }
$defaultAddress = ['default_billing' => 'No', 'default_shipping' => 'No'];
$addressData = $address->getData();
foreach ($defaultAddress as $key => $value) {
@@ -113,7 +102,7 @@ public function updateAddresses($address)
}
/**
- * Get data of Customer addresses
+ * Get data of Customer addresses.
*
* @param FixtureInterface|FixtureInterface[]|null $address
* @return array
@@ -144,7 +133,7 @@ public function getDataAddresses($address = null)
}
/**
- * Get data to fields on tab
+ * Get data to fields on tab.
*
* @param array|null $fields
* @param SimpleElement|null $element
@@ -159,15 +148,16 @@ public function getDataFormTab($fields = null, SimpleElement $element = null)
}
/**
- * Click "Add New Address" button
+ * Click "Add New Address" button.
*/
protected function addNewAddress()
{
$this->_rootElement->find($this->addNewAddress)->click();
+ $this->waitForElementVisible($this->addressTab);
}
/**
- * Open customer address
+ * Open customer address.
*
* @param int $addressNumber
* @throws \Exception
@@ -186,7 +176,7 @@ protected function openCustomerAddress($addressNumber)
}
/**
- * Check is visible customer address
+ * Check is visible customer address.
*
* @param int $addressNumber
* @return bool
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/AddressInjectable.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/AddressInjectable.php
deleted file mode 100644
index be272903ddeae..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/AddressInjectable.php
+++ /dev/null
@@ -1,326 +0,0 @@
- 'John',
- 'lastname' => 'Doe',
- 'email' => 'John.Doe%isolation%@example.com',
- 'company' => 'Magento %isolation%',
- 'street' => '6161 West Centinela Avenue',
- 'city' => 'Culver City',
- 'region_id' => 'California',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'telephone' => '555-55-555-55',
- ];
-
- protected $city = [
- 'attribute_code' => 'city',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $default_billing = [
- 'attribute_code' => 'default_billing',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'checkbox',
- ];
-
- protected $default_shipping = [
- 'attribute_code' => 'default_shipping',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'checkbox',
- ];
-
- protected $company = [
- 'attribute_code' => 'company',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $country_id = [
- 'attribute_code' => 'country_id',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $fax = [
- 'attribute_code' => 'fax',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $firstname = [
- 'attribute_code' => 'firstname',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $lastname = [
- 'attribute_code' => 'lastname',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $email = [
- 'attribute_code' => 'email',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $middlename = [
- 'attribute_code' => 'middlename',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $postcode = [
- 'attribute_code' => 'postcode',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $prefix = [
- 'attribute_code' => 'prefix',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $region = [
- 'attribute_code' => 'region',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $region_id = [
- 'attribute_code' => 'region_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'hidden',
- ];
-
- protected $street = [
- 'attribute_code' => 'street',
- 'backend_type' => 'text',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'multiline',
- ];
-
- protected $suffix = [
- 'attribute_code' => 'suffix',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $telephone = [
- 'attribute_code' => 'telephone',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $vat_id = [
- 'attribute_code' => 'vat_id',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $vat_is_valid = [
- 'attribute_code' => 'vat_is_valid',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $vat_request_date = [
- 'attribute_code' => 'vat_request_date',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $vat_request_id = [
- 'attribute_code' => 'vat_request_id',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $vat_request_success = [
- 'attribute_code' => 'vat_request_success',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- public function getCity()
- {
- return $this->getData('city');
- }
-
- public function getDefaultShipping()
- {
- return $this->getData('default_shipping');
- }
-
- public function getDefaultBilling()
- {
- return $this->getData('default_billing');
- }
-
- public function getEmail()
- {
- return $this->getData('email');
- }
-
- public function getCompany()
- {
- return $this->getData('company');
- }
-
- public function getCountryId()
- {
- return $this->getData('country_id');
- }
-
- public function getFax()
- {
- return $this->getData('fax');
- }
-
- public function getFirstname()
- {
- return $this->getData('firstname');
- }
-
- public function getLastname()
- {
- return $this->getData('lastname');
- }
-
- public function getMiddlename()
- {
- return $this->getData('middlename');
- }
-
- public function getPostcode()
- {
- return $this->getData('postcode');
- }
-
- public function getPrefix()
- {
- return $this->getData('prefix');
- }
-
- public function getRegion()
- {
- return $this->getData('region');
- }
-
- public function getRegionId()
- {
- return $this->getData('region_id');
- }
-
- public function getStreet()
- {
- return $this->getData('street');
- }
-
- public function getSuffix()
- {
- return $this->getData('suffix');
- }
-
- public function getTelephone()
- {
- return $this->getData('telephone');
- }
-
- public function getVatId()
- {
- return $this->getData('vat_id');
- }
-
- public function getVatIsValid()
- {
- return $this->getData('vat_is_valid');
- }
-
- public function getVatRequestDate()
- {
- return $this->getData('vat_request_date');
- }
-
- public function getVatRequestId()
- {
- return $this->getData('vat_request_id');
- }
-
- public function getVatRequestSuccess()
- {
- return $this->getData('vat_request_success');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/AddressInjectable.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/AddressInjectable.xml
index 696b237016da2..cdc7f3ee9d49d 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/AddressInjectable.xml
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/AddressInjectable.xml
@@ -5,164 +5,181 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Customer
eav
customer_address
Magento\Customer\Model\Resource\Address\Collection
+ Magento\Customer\Test\Repository\AddressInjectable
+ Magento\Customer\Test\Handler\AddressInjectable\AddressInjectableInterface
+
+ John
+ Doe
+ John.Doe%isolation%@example.com
+ Magento %isolation%
+ 6161 West Centinela Avenue
+ Culver City
+ California
+ 90230
+ United States
+ 555-55-555-55
+
-
+
city
varchar
1
-
+ Culver City
text
-
-
+
+
+ default_billing
+ varchar
+ 1
+
+ checkbox
+
+
+ default_shipping
+ varchar
+ 1
+
+ checkbox
+
+
company
varchar
0
-
+ Magento %isolation%
text
-
-
+
+
country_id
varchar
1
-
+ United States
select
-
-
+
+
fax
varchar
0
-
+
text
-
-
+
+
firstname
varchar
1
-
+ John
text
-
-
+
+
lastname
varchar
1
-
+ Doe
text
-
-
+
+
+ email
+ varchar
+ 1
+ John.Doe%isolation%@example.com
+ text
+
+
middlename
varchar
0
-
+
text
-
-
+
+
postcode
varchar
0
-
+ 90230
text
-
-
+
+
prefix
varchar
0
-
+
text
-
-
+
+
region
varchar
0
-
+
text
-
-
+
+
region_id
int
0
-
+ California
hidden
-
-
+
+
street
text
1
-
+ 6161 West Centinela Avenue
multiline
-
-
+
+
suffix
varchar
0
-
+
text
-
-
+
+
telephone
varchar
1
-
+ 555-55-555-55
text
-
-
+
+
vat_id
varchar
0
-
+
text
-
-
- vat_is_valid
+
+
+ ibute_code>vat_is_valid
int
0
-
+
text
-
-
- vat_request_date
+
+
+ bute_code>vat_request_date
varchar
0
-
+
text
-
-
- vat_request_id
+
+
+ ute_code>vat_request_id
varchar
0
-
+
text
-
-
+
+
vat_request_success
int
0
-
+
text
-
-
- default_billing
- int
- 0
-
- checkbox
-
-
- default_shipping
- int
- 0
-
- checkbox
-
-
- email
- virtual
-
+
- Magento\Customer\Test\Repository\AddressInjectable
- Magento\Customer\Test\Handler\AddressInjectable\AddressInjectableInterface
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.php
deleted file mode 100644
index 067628370b1dd..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.php
+++ /dev/null
@@ -1,70 +0,0 @@
- 'customer_code_%isolation%',
- 'tax_class_id' => ['dataSet' => 'customer_tax_class'],
- ];
-
- protected $customer_group_code = [
- 'attribute_code' => 'code',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $tax_class_id = [
- 'attribute_code' => 'tax_class',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'source' => 'Magento\Customer\Test\Fixture\CustomerGroup\TaxClassIds',
- ];
-
- protected $customer_group_id = [
- 'attribute_code' => 'customer_group_id',
- 'backend_type' => 'virtual',
- ];
-
- public function getCustomerGroupCode()
- {
- return $this->getData('customer_group_code');
- }
-
- public function getTaxClassId()
- {
- return $this->getData('tax_class_id');
- }
-
- public function getCustomerGroupId()
- {
- return $this->getData('customer_group_id');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.xml
index 960f94402a20f..b89f6fe3600ea 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.xml
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.xml
@@ -5,31 +5,42 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Customer
flat
customer_group
Magento\Customer\Model\Resource\Group\Collection
+ Magento\Customer\Test\Repository\CustomerGroupInjectable
+ Magento\Customer\Test\Handler\CustomerGroupInjectable\CustomerGroupInjectableInterface
+
+ customer_code_%isolation%
+
+ - customer_tax_class
+
+
-
+
code
varchar
1
- customer_code_%isolation%
+ customer_code_%isolation%
text
-
-
+
+
tax_class
varchar
1
- Retail Customer
+
+ - customer_tax_class
+
select
-
-
+
+
+
customer_group_id
virtual
-
+
- Magento\Customer\Test\Repository\CustomerGroupInjectable
- Magento\Customer\Test\Handler\CustomerGroupInjectable\CustomerGroupInjectableInterface
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerInjectable.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerInjectable.php
deleted file mode 100644
index aa935e1a85c45..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerInjectable.php
+++ /dev/null
@@ -1,403 +0,0 @@
- 'John',
- 'lastname' => 'Doe',
- 'email' => 'John.Doe%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- ];
-
- protected $address = [
- 'attribute_code' => 'address',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Customer\Test\Fixture\CustomerInjectable\Address',
- ];
-
- protected $confirmation = [
- 'attribute_code' => 'confirmation',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- 'group' => null,
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $created_in = [
- 'attribute_code' => 'created_in',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'account_information',
- ];
-
- protected $default_billing = [
- 'attribute_code' => 'default_billing',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $default_shipping = [
- 'attribute_code' => 'default_shipping',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $disable_auto_group_change = [
- 'attribute_code' => 'disable_auto_group_change',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'boolean',
- 'group' => 'account_information',
- ];
-
- protected $dob = [
- 'attribute_code' => 'dob',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- 'group' => 'account_information',
- ];
-
- protected $email = [
- 'attribute_code' => 'email',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'account_information',
- ];
-
- protected $firstname = [
- 'attribute_code' => 'firstname',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'account_information',
- ];
-
- protected $gender = [
- 'attribute_code' => 'gender',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'account_information',
- ];
-
- protected $group_id = [
- 'attribute_code' => 'group_id',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'account_information',
- 'source' => 'Magento\Customer\Test\Fixture\CustomerInjectable\GroupId',
- ];
-
- protected $lastname = [
- 'attribute_code' => 'lastname',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'account_information',
- ];
-
- protected $middlename = [
- 'attribute_code' => 'middlename',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'account_information',
- ];
-
- protected $password_hash = [
- 'attribute_code' => 'password_hash',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'hidden',
- ];
-
- protected $prefix = [
- 'attribute_code' => 'prefix',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'account_information',
- ];
-
- protected $rp_token = [
- 'attribute_code' => 'rp_token',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'hidden',
- ];
-
- protected $rp_token_created_at = [
- 'attribute_code' => 'rp_token_created_at',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $store_id = [
- 'attribute_code' => 'store_id',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'account_information',
- ];
-
- protected $suffix = [
- 'attribute_code' => 'suffix',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'account_information',
- ];
-
- protected $taxvat = [
- 'attribute_code' => 'taxvat',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'account_information',
- ];
-
- protected $website_id = [
- 'attribute_code' => 'website_id',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'select',
- 'group' => 'account_information',
- ];
-
- protected $amount_delta = [
- 'attribute_code' => 'amount_delta',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'store_credit',
- ];
-
- protected $is_subscribed = [
- 'attribute_code' => 'is_subscribed',
- 'backend_type' => 'virtual',
- ];
-
- protected $password = [
- 'attribute_code' => 'password',
- 'backend_type' => 'virtual',
- 'group' => null,
- ];
-
- protected $password_confirmation = [
- 'attribute_code' => 'password_confirmation',
- 'backend_type' => 'virtual',
- 'group' => null,
- ];
-
- protected $current_password = [
- 'attribute_code' => 'current_password',
- 'backend_type' => 'virtual',
- 'group' => null,
- ];
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getAddress()
- {
- return $this->getData('address');
- }
-
- public function getConfirmation()
- {
- return $this->getData('confirmation');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getCreatedIn()
- {
- return $this->getData('created_in');
- }
-
- public function getDefaultBilling()
- {
- return $this->getData('default_billing');
- }
-
- public function getDefaultShipping()
- {
- return $this->getData('default_shipping');
- }
-
- public function getDisableAutoGroupChange()
- {
- return $this->getData('disable_auto_group_change');
- }
-
- public function getDob()
- {
- return $this->getData('dob');
- }
-
- public function getEmail()
- {
- return $this->getData('email');
- }
-
- public function getFirstname()
- {
- return $this->getData('firstname');
- }
-
- public function getGender()
- {
- return $this->getData('gender');
- }
-
- public function getGroupId()
- {
- return $this->getData('group_id');
- }
-
- public function getLastname()
- {
- return $this->getData('lastname');
- }
-
- public function getMiddlename()
- {
- return $this->getData('middlename');
- }
-
- public function getPasswordHash()
- {
- return $this->getData('password_hash');
- }
-
- public function getAmountDelta()
- {
- return $this->getData('amount_delta');
- }
-
- public function getPrefix()
- {
- return $this->getData('prefix');
- }
-
- public function getRpToken()
- {
- return $this->getData('rp_token');
- }
-
- public function getRpTokenCreatedAt()
- {
- return $this->getData('rp_token_created_at');
- }
-
- public function getStoreId()
- {
- return $this->getData('store_id');
- }
-
- public function getSuffix()
- {
- return $this->getData('suffix');
- }
-
- public function getTaxvat()
- {
- return $this->getData('taxvat');
- }
-
- public function getWebsiteId()
- {
- return $this->getData('website_id');
- }
-
- public function getIsSubscribed()
- {
- return $this->getData('is_subscribed');
- }
-
- public function getPassword()
- {
- return $this->getData('password');
- }
-
- public function getPasswordConfirmation()
- {
- return $this->getData('password_confirmation');
- }
-
- public function getCurrentPassword()
- {
- return $this->getData('current_password');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerInjectable.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerInjectable.xml
index f386a7c1e8af0..ca8a9add498b0 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerInjectable.xml
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerInjectable.xml
@@ -5,218 +5,224 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Customer
eav
customer
Magento\Customer\Model\Resource\Customer\Collection
email
+ Magento\Customer\Test\Repository\CustomerInjectable
+ Magento\Customer\Test\Handler\CustomerInjectable\CustomerInjectableInterface
+
+ John
+ Doe
+ John.Doe%isolation%@example.com
+ 123123q
+ 123123q
+
-
+
address
virtual
-
-
+
+
confirmation
varchar
0
-
+
text
-
-
+
+
+ id
+ virtual
+ null
+
+
created_at
static
0
-
+
date
-
-
- id
- virtual
- null
-
-
+
+
created_in
varchar
0
-
+
text
account_information
-
-
+
+
default_billing
int
0
-
+
text
-
-
+
+
default_shipping
int
0
-
+
text
-
-
+
+
disable_auto_group_change
static
0
-
+
boolean
account_information
-
-
+
+
dob
datetime
0
-
+
date
account_information
-
-
+
+
email
static
1
-
+ John.Doe%isolation%@example.com
text
account_information
-
-
+
+
firstname
varchar
1
-
+ John
text
account_information
-
-
+
+
gender
int
0
-
+
select
account_information
-
-
+
+
group_id
static
1
-
+
select
account_information
-
-
+
+
lastname
varchar
1
-
+ Doe
text
account_information
-
-
+
+
middlename
varchar
0
-
+
text
account_information
-
-
+
+
password_hash
varchar
0
-
+
hidden
-
-
+
+
prefix
varchar
0
-
+
text
account_information
-
-
+
+
rp_token
varchar
0
-
+
hidden
-
-
+
+
rp_token_created_at
datetime
0
-
+
date
-
-
+
+
store_id
static
1
-
+
select
account_information
-
-
+
+
suffix
varchar
0
-
+
text
account_information
-
-
+
+
taxvat
varchar
0
-
+
text
account_information
-
-
- amount_delta
- varchar
- 0
-
- text
- store_credit
-
-
+
+
website_id
static
1
-
+
select
account_information
-
-
+
+
+ amount_delta
+ static
+ 1
+
+ text
+ store_credit
+
+
is_subscribed
virtual
-
-
+
+
password
virtual
-
-
+ null
+ 123123q
+
+
password_confirmation
virtual
-
-
- reward_points_delta
- virtual
-
-
-
- store_credit
- virtual
-
-
+ null
+ 123123q
+
+
current_password
virtual
-
+ null
+
- Magento\Customer\Test\Handler\CustomerInjectable\CustomerInjectableInterface
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomer.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomer.php
index 03e09cebf8e41..744387049f2bc 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomer.php
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomer.php
@@ -1,6 +1,5 @@
_data['US_address'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'John.Doe%isolation%@example.com',
- 'company' => 'Magento %isolation%',
- 'street' => '6161 West Centinela Avenue',
- 'city' => 'Culver City',
- 'region_id' => 'California',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'telephone' => '555-55-555-55',
- 'default_billing' => 'Yes',
- 'default_shipping' => 'Yes',
- ];
-
- $this->_data['US_address_default_billing'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'John.Doe%isolation%@example.com',
- 'company' => 'Magento %isolation%',
- 'street' => '6161 West Centinela Avenue',
- 'city' => 'Culver City',
- 'region_id' => 'California',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'telephone' => '555-55-555-55',
- 'default_billing' => 'Yes',
- 'default_shipping' => 'No',
- ];
-
- $this->_data['US_NY_address_billing'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'John.Doe%isolation%@example.com',
- 'company' => 'Magento %isolation%',
- 'street' => '6262 Fifth Avenue',
- 'city' => 'New York',
- 'region_id' => 'New York',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'telephone' => '555-55-555-55',
- 'default_billing' => 'No',
- 'default_shipping' => 'No',
- ];
-
- $this->_data['US_address_default_shipping'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'John.Doe%isolation%@example.com',
- 'company' => 'Magento %isolation%',
- 'street' => '6161 West Centinela Avenue',
- 'city' => 'Culver City',
- 'region_id' => 'California',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'telephone' => '555-55-555-55',
- 'default_billing' => 'Yes',
- 'default_shipping' => 'No',
- ];
-
- $this->_data['default_US_address'] = [
- 'company' => 'Magento %isolation%',
- 'street' => '6161 West Centinela Avenue',
- 'city' => 'Culver City',
- 'region_id' => 'California',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'telephone' => '555-55-555-55',
- 'default_billing' => 'Yes',
- 'default_shipping' => 'Yes',
- ];
-
- $this->_data['US_address_without_email'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'company' => 'Magento %isolation%',
- 'street' => '6161 West Centinela Avenue',
- 'city' => 'Culver City',
- 'region_id' => 'California',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'telephone' => '555-55-555-55',
- ];
-
- $this->_data['US_address_NY'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'John.Doe%isolation%@example.com',
- 'company' => 'Magento %isolation%',
- 'street' => '3222 Cliffside Drive',
- 'city' => 'Binghamton',
- 'region_id' => 'New York',
- 'postcode' => '13901',
- 'country_id' => 'United States',
- 'telephone' => '607-481-7802',
- 'default_billing' => 'Yes',
- 'default_shipping' => 'Yes',
- ];
-
- $this->_data['US_address_TX'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'John.Doe%isolation%@example.com',
- 'company' => 'Magento %isolation%',
- 'street' => '7700 W. Parmer Lane Bldg. D',
- 'city' => 'Austin',
- 'region_id' => 'Texas',
- 'postcode' => '78729 ',
- 'country_id' => 'United States',
- 'telephone' => '512-691-4400',
- 'default_billing' => 'Yes',
- 'default_shipping' => 'Yes',
- ];
-
- $this->_data['customer_US'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'company' => 'Magento %isolation%',
- 'city' => 'Culver City',
- 'street' => '6161 West Centinela Avenue',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'region_id' => 'California',
- 'telephone' => '555-55-555-55',
- 'fax' => '555-55-555-55',
- ];
-
- $this->_data['customer_UK'] = [
- 'firstname' => 'Jane',
- 'lastname' => 'Doe',
- 'email' => 'JaneDoe_%isolation%@example.com',
- 'company' => 'Magento %isolation%',
- 'city' => 'London',
- 'street' => '172, Westminster Bridge Rd',
- 'postcode' => 'SE1 7RW',
- 'country_id' => 'United Kingdom',
- 'region' => 'London',
- 'telephone' => '444-44-444-44',
- 'fax' => '444-44-444-44',
- ];
-
- $this->_data['address_US_1'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'company' => 'Magento %isolation%',
- 'email' => 'John.Doe%isolation%@example.com',
- 'city' => 'Culver City',
- 'street' => '6161 West Centinela Avenue',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'region_id' => 'California',
- 'telephone' => '555-55-555-55',
- ];
-
- $this->_data['address_US_2'] = [
- 'firstname' => 'Billy',
- 'lastname' => 'Holiday',
- 'company' => 'Magento %isolation%',
- 'email' => 'b.holliday@example.net',
- 'city' => 'New York',
- 'street' => '727 5th Ave',
- 'postcode' => '10022',
- 'country_id' => 'United States',
- 'region_id' => 'New York',
- 'telephone' => '777-77-77-77',
- ];
-
- $this->_data['address_data_US_1'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'company' => 'Magento %isolation%',
- 'city' => 'Culver City',
- 'street' => '6161 West Centinela Avenue',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'region_id' => 'California',
- 'telephone' => '555-55-555-55',
- ];
-
- $this->_data['address_DE'] = [
- 'firstname' => 'Jan',
- 'lastname' => 'Jansen',
- 'company' => 'Magento %isolation%',
- 'city' => 'Berlin',
- 'street' => 'Augsburger Strabe 41',
- 'postcode' => '10789',
- 'country_id' => 'Germany',
- 'region_id' => 'Berlin',
- 'telephone' => '333-33-333-33',
- ];
-
- $this->_data['address_UK'] = [
- 'firstname' => 'Jane',
- 'lastname' => 'Doe',
- 'company' => 'Magento %isolation%',
- 'city' => 'London',
- 'street' => '172, Westminster Bridge Rd',
- 'postcode' => 'SE1 7RW',
- 'country_id' => 'United Kingdom',
- 'region_id' => 'London',
- 'telephone' => '444-44-444-44',
- ];
-
- $this->_data['address_UK_2'] = [
- 'firstname' => 'Jane',
- 'lastname' => 'Doe',
- 'company' => 'Magento %isolation%',
- 'city' => 'Manchester',
- 'street' => '42 King Street West',
- 'postcode' => 'M3 2WY',
- 'country_id' => 'United Kingdom',
- 'region_id' => 'Manchester',
- 'telephone' => '444-44-444-44',
- ];
-
- $this->_data['address_UK_with_VAT'] = [
- 'firstname' => 'Jane',
- 'lastname' => 'Doe',
- 'company' => 'Magento %isolation%',
- 'city' => 'London',
- 'street' => '172, Westminster Bridge Rd',
- 'postcode' => 'SE1 7RW',
- 'country_id' => 'United Kingdom',
- 'region_id' => 'London',
- 'telephone' => '444-44-444-44',
- 'vat_id' => '584451913',
- ];
-
- $this->_data['address_US_pay_pal'] = [
- 'firstname' => 'Dmytro',
- 'lastname' => 'Aponasenko',
- 'city' => 'Culver City',
- 'street' => '1 Main St',
- 'postcode' => '90230',
- 'country_id' => 'United States',
- 'region_id' => 'Culver City',
- ];
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/AddressInjectable.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/AddressInjectable.xml
new file mode 100644
index 0000000000000..6156dd05eadcc
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/AddressInjectable.xml
@@ -0,0 +1,249 @@
+
+
+
+
+
+ John
+ Doe
+ John.Doe%isolation%@example.com
+ Magento %isolation%
+ 6161 West Centinela Avenue
+ Culver City
+ California
+ 90230
+ United States
+ 555-55-555-55
+ Yes
+ Yes
+
+
+
+ John
+ Doe
+ John.Doe%isolation%@example.com
+ Magento %isolation%
+ 6161 West Centinela Avenue
+ Culver City
+ California
+ 90230
+ United States
+ 555-55-555-55
+ Yes
+ No
+
+
+
+ John
+ Doe
+ John.Doe%isolation%@example.com
+ Magento %isolation%
+ 6262 Fifth Avenue
+ New York
+ New York
+ 90230
+ United States
+ 555-55-555-55
+ No
+ No
+
+
+
+ John
+ Doe
+ John.Doe%isolation%@example.com
+ Magento %isolation%
+ 6161 West Centinela Avenue
+ Culver City
+ California
+ 90230
+ United States
+ 555-55-555-55
+ Yes
+ No
+
+
+
+ Magento %isolation%
+ 6161 West Centinela Avenue
+ Culver City
+ California
+ 90230
+ United States
+ 555-55-555-55
+ Yes
+ Yes
+
+
+
+ John
+ Doe
+ Magento %isolation%
+ 6161 West Centinela Avenue
+ Culver City
+ California
+ 90230
+ United States
+ 555-55-555-55
+
+
+
+ John
+ Doe
+ John.Doe%isolation%@example.com
+ Magento %isolation%
+ 3222 Cliffside Drive
+ Binghamton
+ New York
+ 13901
+ United States
+ 607-481-7802
+ Yes
+ Yes
+
+
+
+ John
+ Doe
+ John.Doe%isolation%@example.com
+ Magento %isolation%
+ 7700 W. Parmer Lane Bldg. D
+ Austin
+ Texas
+ 78729
+ United States
+ 512-691-4400
+ Yes
+ Yes
+
+
+
+ John
+ Doe
+ JohnDoe_%isolation%@example.com
+ Magento %isolation%
+ Culver City
+ 6161 West Centinela Avenue
+ 90230
+ United States
+ California
+ 555-55-555-55
+ 555-55-555-55
+
+
+
+ Jane
+ Doe
+ JaneDoe_%isolation%@example.com
+ Magento %isolation%
+ London
+ 172, Westminster Bridge Rd
+ SE1 7RW
+ United Kingdom
+ London
+ 444-44-444-44
+ 444-44-444-44
+
+
+
+ John
+ Doe
+ Magento %isolation%
+ John.Doe%isolation%@example.com
+ Culver City
+ 6161 West Centinela Avenue
+ 90230
+ United States
+ California
+ 555-55-555-55
+
+
+
+ Billy
+ Holiday
+ Magento %isolation%
+ b.holliday@example.net
+ New York
+ 727 5th Ave
+ 10022
+ United States
+ New York
+ 777-77-77-77
+
+
+
+ John
+ Doe
+ Magento %isolation%
+ Culver City
+ 6161 West Centinela Avenue
+ 90230
+ United States
+ California
+ 555-55-555-55
+
+
+
+ Jan
+ Jansen
+ Magento %isolation%
+ Berlin
+ Augsburger Strabe 41
+ 10789
+ Germany
+ Berlin
+ 333-33-333-33
+
+
+
+ Jane
+ Doe
+ Magento %isolation%
+ London
+ 172, Westminster Bridge Rd
+ SE1 7RW
+ United Kingdom
+ London
+ 444-44-444-44
+
+
+
+ Jane
+ Doe
+ Magento %isolation%
+ Manchester
+ 42 King Street West
+ M3 2WY
+ United Kingdom
+ Manchester
+ 444-44-444-44
+
+
+
+ Jane
+ Doe
+ Magento %isolation%
+ London
+ 172, Westminster Bridge Rd
+ SE1 7RW
+ United Kingdom
+ London
+ 444-44-444-44
+ 584451913
+
+
+
+ Dmytro
+ Aponasenko
+ Culver City
+ 1 Main St
+ 90230
+ United States
+ Culver City
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerGroupInjectable.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerGroupInjectable.php
deleted file mode 100644
index f9ef35f9a952b..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerGroupInjectable.php
+++ /dev/null
@@ -1,54 +0,0 @@
-_data['General'] = [
- 'customer_group_id' => '1',
- 'customer_group_code' => 'General',
- 'tax_class_id' => ['dataSet' => 'Retail Customer'],
- ];
-
- $this->_data['Retailer'] = [
- 'customer_group_id' => '3',
- 'customer_group_code' => 'Retailer',
- 'tax_class_id' => ['dataSet' => 'Retail Customer'],
- ];
-
- $this->_data['Wholesale'] = [
- 'customer_group_id' => '2',
- 'customer_group_code' => 'Wholesale',
- 'tax_class_id' => ['dataSet' => 'Retail Customer'],
- ];
-
- $this->_data['All Customer Groups'] = [
- 'customer_group_id' => '0',
- 'customer_group_code' => 'All Customer Groups',
- ];
-
- $this->_data['NOT LOGGED IN'] = [
- 'customer_group_id' => '0',
- 'customer_group_code' => 'NOT LOGGED IN',
- 'tax_class_id' => ['dataSet' => 'Retail Customer'],
- ];
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerGroupInjectable.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerGroupInjectable.xml
new file mode 100644
index 0000000000000..1136a9d8219d0
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerGroupInjectable.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+ 1
+ General
+
+ - retail_customer
+
+
+
+
+ 3
+ Retailer
+
+ - retail_customer
+
+
+
+
+ 2
+ Wholesale
+
+ - retail_customer
+
+
+
+
+ 0
+ All Customer Groups
+
+
+
+ 0
+ NOT LOGGED IN
+
+ - retail_customer
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerInjectable.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerInjectable.php
deleted file mode 100644
index 1e369f4420ab0..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerInjectable.php
+++ /dev/null
@@ -1,131 +0,0 @@
-_data['default'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'group_id' => ['dataSet' => 'General'],
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- ];
-
- $this->_data['johndoe'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'dob' => '01/01/1990',
- 'gender' => 'Male',
- 'group_id' => ['dataSet' => 'General'],
- ];
-
- $this->_data['johndoe_retailer'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'group_id' => ['dataSet' => 'Retailer'],
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'dob' => '01/01/1990',
- 'gender' => 'Male',
- ];
-
- $this->_data['johndoe_with_balance'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'dob' => '01/01/1990',
- 'gender' => 'Male',
- 'amount_delta' => 501,
- ];
-
- $this->_data['defaultBackend'] = [
- 'website_id' => 'Main Website',
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'JohnDoe_%isolation%@example.com',
- ];
-
- $this->_data['johndoe_with_addresses'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'group_id' => ['dataSet' => 'General'],
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'address' => ['presets' => 'US_address'],
- ];
-
- $this->_data['customer_US'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- ];
-
- $this->_data['customer_UK'] = [
- 'firstname' => 'Jane',
- 'lastname' => 'Doe',
- 'email' => 'JaneDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- ];
-
- $this->_data['johndoe_unique'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe%isolation%',
- 'group_id' => ['dataSet' => 'General'],
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'address' => ['presets' => 'US_address_NY'],
- ];
-
- $this->_data['johndoe_unique_TX'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe%isolation%',
- 'group_id' => ['dataSet' => 'General'],
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'address' => ['presets' => 'US_address_TX'],
- ];
-
- $this->_data['johndoe_with_multiple_addresses'] = [
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'group_id' => ['dataSet' => 'General'],
- 'email' => 'JohnDoe_%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'address' => ['presets' => 'US_address_NY, US_address'],
- ];
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerInjectable.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerInjectable.xml
new file mode 100644
index 0000000000000..5df2e83a4d1bb
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerInjectable.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+ John
+ Doe
+
+ - General
+
+ JohnDoe_%isolation%@example.com
+ 123123q
+ 123123q
+
+
+
+ John
+ Doe
+ JohnDoe_%isolation%@example.com
+ 123123q
+ 123123q
+ 01/01/1990
+ Male
+
+ - General
+
+
+
+
+ John
+ Doe
+
+ - Retailer
+
+ JohnDoe_%isolation%@example.com
+ 123123q
+ 123123q
+ 01/01/1990
+ Male
+
+
+
+ John
+ Doe
+ JohnDoe_%isolation%@example.com
+ 123123q
+ 123123q
+ 01/01/1990
+ Male
+ 501
+
+
+
+ Main Website
+ John
+ Doe
+ JohnDoe_%isolation%@example.com
+
+
+
+ John
+ Doe
+
+ - General
+
+ JohnDoe_%isolation%@example.com
+ 123123q
+ 123123q
+
+ - US_address
+
+
+
+
+ John
+ Doe
+ JohnDoe_%isolation%@example.com
+ 123123q
+ 123123q
+
+
+
+ Jane
+ Doe
+ JaneDoe_%isolation%@example.com
+ 123123q
+ 123123q
+
+
+
+ John
+ Doe%isolation%
+
+ - General
+
+ JohnDoe_%isolation%@example.com
+ 123123q
+ 123123q
+
+ - US_address_NY
+
+
+
+
+ John
+ Doe%isolation%
+
+ - General
+
+ JohnDoe_%isolation%@example.com
+ 123123q
+ 123123q
+
+ - US_address_TX
+
+
+
+
+ John
+ Doe%isolation%
+
+ - General
+
+ JohnDoe_%isolation%@example.com
+ 123123q
+ 123123q
+
+ - US_address_NY, US_address
+
+
+
+
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
new file mode 100644
index 0000000000000..b29e28cb54b08
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ChangeCustomerPasswordTest.php
@@ -0,0 +1,111 @@
+cmsIndex = $cmsIndex;
+ $this->customerAccountLogin = $customerAccountLogin;
+ $this->customerAccountIndex = $customerAccountIndex;
+ $this->customerAccountEdit = $customerAccountEdit;
+ }
+
+ /**
+ * Run Change customer password test.
+ *
+ * @param CustomerInjectable $initialCustomer
+ * @param CustomerInjectable $customer
+ * @return void
+ */
+ public function test(CustomerInjectable $initialCustomer, CustomerInjectable $customer)
+ {
+ // Preconditions
+ $initialCustomer->persist();
+
+ // Steps
+ $this->objectManager->create(
+ 'Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep',
+ ['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/test.csv b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ChangeCustomerPasswordTest/test.csv
new file mode 100644
index 0000000000000..b002dd32e3b58
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ChangeCustomerPasswordTest/test.csv
@@ -0,0 +1,4 @@
+"initialCustomer/dataSet";"customer/data/current_password";"customer/data/password";"customer/data/password_confirmation";"constraint";
+"default";"123123q";"123123a";"123123a";"assertCustomerInfoSuccessSavedMessage, assertCustomerPasswordChanged";
+"default";"123123";"123123a";"123123a";"assertChangePasswordFailMessage";
+"default";"123123q";"123123a";"123123";"assertWrongPassConfirmationMessage";
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest/testCreateCustomerBackendEntity.csv b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest/testCreateCustomerBackendEntity.csv
index 3474c0f076557..7db78a347381a 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest/testCreateCustomerBackendEntity.csv
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest/testCreateCustomerBackendEntity.csv
@@ -1,6 +1,6 @@
-"customer/data/website_id";"customer/data/group_id/dataSet";"customer/data/prefix";"customer/data/firstname";"customer/data/middlename";"customer/data/lastname";"customer/data/suffix";"customer/data/email";"customer/data/dob";"customer/data/taxvat";"customer/data/gender";"address/data/firstname";"address/data/lastname";"address/data/street";"address/data/city";"address/data/country_id";"address/data/region_id";"address/data/postcode";"address/data/telephone";"constraint"
-"Main Website";"General";"-";"John%isolation%";"-";"Doe%isolation%";"-";"JohnDoe%isolation%@example.com";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertCustomerSuccessSaveMessage, assertCustomerInGrid, assertCustomerForm"
-"Admin";"Wholesale";"M";"John%isolation%";"Jack";"Doe%isolation%";"S";"JohnDoe%isolation%@example.com";"03/16/2004";"-";"Male";"-";"-";"-";"-";"-";"-";"-";"-";"assertCustomerSuccessSaveMessage, assertCustomerInGrid, assertCustomerForm"
-"Main Website";"General";"-";"John%isolation%";"-";"Doe%isolation%";"-";"JohnDoe%isolation%@example.com";"-";"-";"-";"Joe";"Doe";"1 Main Street";"Culver City";"United States";"California";"90230";"3109450345";"assertCustomerSuccessSaveMessage, assertCustomerInGrid, assertCustomerForm"
-"Main Website";"Retailer";"-";"John%isolation%";"-";"Doe%isolation%";"-";"JohnDoe%isolation%@example.ccc";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertCustomerInvalidEmail"
-"Main Website";"General";"-";"Thomas%isolation%";"-";"Oster%isolation%";"-";"Thomas%isolation%@example.com";"-";"5250008057";"-";"Thomas";"Oster";"Chmielna 113";"Bielsko-Biala";"Poland";"-";"43-310 ";"799885616";"assertCustomerSuccessSaveMessage, assertCustomerInGrid, assertCustomerForm"
+"customer/data/website_id";"customer/data/group_id/dataSet";"customer/data/prefix";"customer/data/firstname";"customer/data/middlename";"customer/data/lastname";"customer/data/suffix";"customer/data/email";"customer/data/dob";"customer/data/taxvat";"customer/data/gender";"address/data/firstname";"address/data/lastname";"address/data/street";"address/data/city";"address/data/country_id";"address/data/region_id";"address/data/postcode";"address/data/telephone";"constraint";"issue"
+"Main Website";"General";"-";"John%isolation%";"-";"Doe%isolation%";"-";"JohnDoe%isolation%@example.com";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertCustomerSuccessSaveMessage, assertCustomerInGrid, assertCustomerForm";""
+"Admin";"Wholesale";"M";"John%isolation%";"Jack";"Doe%isolation%";"S";"JohnDoe%isolation%@example.com";"03/16/2004";"-";"Male";"-";"-";"-";"-";"-";"-";"-";"-";"assertCustomerSuccessSaveMessage, assertCustomerInGrid, assertCustomerForm";"Bug: MAGETWO-31689"
+"Main Website";"General";"-";"John%isolation%";"-";"Doe%isolation%";"-";"JohnDoe%isolation%@example.com";"-";"-";"-";"Joe";"Doe";"1 Main Street";"Culver City";"United States";"California";"90230";"3109450345";"assertCustomerSuccessSaveMessage, assertCustomerInGrid, assertCustomerForm";""
+"Main Website";"Retailer";"-";"John%isolation%";"-";"Doe%isolation%";"-";"JohnDoe%isolation%@example.ccc";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertCustomerInvalidEmail";""
+"Main Website";"General";"-";"Thomas%isolation%";"-";"Oster%isolation%";"-";"Thomas%isolation%@example.com";"-";"5250008057";"-";"Thomas";"Oster";"Chmielna 113";"Bielsko-Biala";"Poland";"-";"43-310 ";"799885616";"assertCustomerSuccessSaveMessage, assertCustomerInGrid, assertCustomerForm";""
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest/testCreateCustomerGroup.csv b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest/testCreateCustomerGroup.csv
index 215d04ed45753..cd5ff497620b0 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest/testCreateCustomerGroup.csv
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest/testCreateCustomerGroup.csv
@@ -1,4 +1,4 @@
"customerGroup/data/tax_class_id/dataSet";"customerGroup/data/customer_group_code";"constraint"
-"Retail Customer";"GroupName%isolation%";"assertCustomerGroupSuccessSaveMessage, assertCustomerGroupInGrid, assertCustomerGroupOnCustomerForm"
-"Retail Customer";"General";"assertCustomerGroupAlreadyExists"
+"retail_customer";"GroupName%isolation%";"assertCustomerGroupSuccessSaveMessage, assertCustomerGroupInGrid, assertCustomerGroupOnCustomerForm"
+"retail_customer";"General";"assertCustomerGroupAlreadyExists"
"customer_tax_class";"GroupName%isolation%";"assertCustomerGroupSuccessSaveMessage, assertCustomerGroupInGrid, assertCustomerGroupOnCustomerForm"
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest/testUpdateCustomerBackendEntity.csv b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest/testUpdateCustomerBackendEntity.csv
index 457306867243d..f1e0e24884439 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest/testUpdateCustomerBackendEntity.csv
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest/testUpdateCustomerBackendEntity.csv
@@ -1,4 +1,4 @@
-"initialCustomer/dataSet";"customer/data/group_id/dataSet";"customer/data/prefix";"customer/data/firstname";"customer/data/middlename";"customer/data/lastname";"customer/data/suffix";"customer/data/email";"customer/data/dob";"customer/data/taxvat";"customer/data/gender";"address/data/prefix";"address/data/firstname";"address/data/middlename";"address/data/lastname";"address/data/suffix";"address/data/company";"address/data/street";"address/data/city";"address/data/country_id";"address/data/region_id";"address/data/region";"address/data/postcode";"address/data/telephone";"address/data/fax";"address/data/vat_id";"constraint"
-"default";"Wholesale";"%isolation%Prefix_";"John_%isolation%";"Middle Name %isolation%";"Doe%isolation%";"_Suffix%isolation%";"JohnDoe%isolation%@example.com";01/08/1986;123456789001;"Male";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertCustomerSuccessSaveMessage, assertCustomerForm, assertCustomerInGrid"
-"default";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"Prefix%isolation%_";"Doe%isolation%";"Middle Name %isolation%";"Doe%isolation%";"_Suffix%isolation%";"Company%isolation%";"3962 Horner Street";"Dothan";"United States";"Alabama";"-";36303;"334-200-4060";"555-666-777-8910";"U1234567890";"assertCustomerSuccessSaveMessage, assertCustomerForm, assertCustomerInGrid"
-"default";"Retailer";"%isolation%Prefix_";"Jane_%isolation%";"Jane Middle Name %isolation%";"Doe%isolation%";"_JaneSuffix%isolation%";"Jane%isolation%@example.com";01/12/2000;987654321;"Female";"Prefix%isolation%_";"Doe%isolation%";"Middle Name %isolation%";"Doe%isolation%";"_Suffix%isolation%";"Company%isolation%";"39 Northgate Street";"BICKTON";"United Kingdom";"-";"PINMINNOCH";"KA26 1PF ";"999-777-111-2345";"-";987654321;"assertCustomerSuccessSaveMessage, assertCustomerForm, assertCustomerInGrid"
+"initialCustomer/dataSet";"customer/data/group_id/dataSet";"customer/data/prefix";"customer/data/firstname";"customer/data/middlename";"customer/data/lastname";"customer/data/suffix";"customer/data/email";"customer/data/dob";"customer/data/taxvat";"customer/data/gender";"address/data/prefix";"address/data/firstname";"address/data/middlename";"address/data/lastname";"address/data/suffix";"address/data/company";"address/data/street";"address/data/city";"address/data/country_id";"address/data/region_id";"address/data/region";"address/data/postcode";"address/data/telephone";"address/data/fax";"address/data/vat_id";"constraint";"issue"
+"default";"Wholesale";"%isolation%Prefix_";"John_%isolation%";"Middle Name %isolation%";"Doe%isolation%";"_Suffix%isolation%";"JohnDoe%isolation%@example.com";01/08/1986;123456789001;"Male";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"assertCustomerSuccessSaveMessage, assertCustomerForm, assertCustomerInGrid";"Bug: MAGETWO-31689"
+"default";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"Prefix%isolation%_";"Doe%isolation%";"Middle Name %isolation%";"Doe%isolation%";"_Suffix%isolation%";"Company%isolation%";"3962 Horner Street";"Dothan";"United States";"Alabama";"-";36303;"334-200-4060";"555-666-777-8910";"U1234567890";"assertCustomerSuccessSaveMessage, assertCustomerForm, assertCustomerInGrid";""
+"default";"Retailer";"%isolation%Prefix_";"Jane_%isolation%";"Jane Middle Name %isolation%";"Doe%isolation%";"_JaneSuffix%isolation%";"Jane%isolation%@example.com";01/12/2000;987654321;"Female";"Prefix%isolation%_";"Doe%isolation%";"Middle Name %isolation%";"Doe%isolation%";"_Suffix%isolation%";"Company%isolation%";"39 Northgate Street";"BICKTON";"United Kingdom";"-";"PINMINNOCH";"KA26 1PF ";"999-777-111-2345";"-";987654321;"assertCustomerSuccessSaveMessage, assertCustomerForm, assertCustomerInGrid";"Bug: MAGETWO-31689"
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest/test.csv
index 111f6ac2661aa..7df3f6eeb262d 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest/test.csv
@@ -1,5 +1,5 @@
"customerGroup/data/tax_class_id/dataSet";"customerGroup/data/customer_group_code";"constraint"
-"Retail Customer";"GroupName%isolation%";"assertCustomerGroupSuccessSaveMessage, assertCustomerGroupInGrid, assertCustomerGroupOnCustomerForm, assertCustomerGroupForm"
+"retail_customer";"GroupName%isolation%";"assertCustomerGroupSuccessSaveMessage, assertCustomerGroupInGrid, assertCustomerGroupOnCustomerForm, assertCustomerGroupForm"
"-";"General ";"assertCustomerGroupAlreadyExists"
"customer_tax_class";"Group Name %isolation%";"assertCustomerGroupSuccessSaveMessage, assertCustomerGroupInGrid, assertCustomerGroupOnCustomerForm, assertCustomerGroupForm"
"customer_tax_class";"Group#Name%isolation%";"assertCustomerGroupSuccessSaveMessage, assertCustomerGroupInGrid, assertCustomerGroupOnCustomerForm, assertCustomerGroupForm"
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
index ca70f2e2f78e2..1a27c3c2250a0 100644
--- 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
@@ -6,6 +6,6 @@
*/
-->
-
-
+
+
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
new file mode 100644
index 0000000000000..765bfdd508254
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Dhl/Test/Repository/ConfigData.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ 0
+
+
+
+ 1
+ https://xmlpitest-ea.dhl.com/XMLShippingServlet
+ CARRIERS_DHL_ID
+ CARRIERS_DHL_PASSWORD
+ CARRIERS_DHL_ACCOUNT
+ 1
+ 1
+
+
+
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
new file mode 100644
index 0000000000000..51754f3be6139
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Directory/Test/Block/Currency/Switcher.php
@@ -0,0 +1,59 @@
+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/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/ConfigData.xml
new file mode 100644
index 0000000000000..cad045644dd53
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/ConfigData.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ - USD
+ - UAH
+
+
+
+
+
+ - USD
+
+
+
+
+
+ - USD
+ - CHF
+
+
+
+
+
+ - USD
+
+
+
+
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
index db10ef66ce1de..093eb729841c9 100644
--- 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
@@ -1,6 +1,5 @@
'downloadable',
- 'create_url_params' => [
- 'type' => 'downloadable',
- 'set' => '4',
- ],
- 'input_prefix' => 'product',
- ];
-
- protected $defaultDataSet = [
- 'name' => 'DownloadableProduct_%isolation%',
- 'sku' => 'DownloadableProduct_%isolation%',
- 'url_key' => 'downloadableproduct_%isolation%',
- 'price' => ['value' => 100.00],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'description' => 'This is description for downloadable product',
- 'short_description' => 'This is short description for downloadable product',
- 'quantity_and_stock_status' => [
- 'qty' => 1.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'is_virtual' => 'Yes',
- 'downloadable_links' => ['preset' => 'default'],
- ];
-
- protected $category_ids = [
- 'attribute_code' => 'category_ids',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CategoryIds',
- ];
-
- protected $cost = [
- 'attribute_code' => 'cost',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $custom_design = [
- 'attribute_code' => 'custom_design',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $custom_design_from = [
- 'attribute_code' => 'custom_design_from',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_design_to = [
- 'attribute_code' => 'custom_design_to',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_layout_update = [
- 'attribute_code' => 'custom_layout_update',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $description = [
- 'attribute_code' => 'description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => 'This is description for downloadable product',
- 'input' => 'textarea',
- 'group' => 'product-details',
- ];
-
- protected $gallery = [
- 'attribute_code' => 'gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $gift_message_available = [
- 'attribute_code' => 'gift_message_available',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $group_price = [
- 'attribute_code' => 'group_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => '\Magento\Downloadable\Test\Fixture\DownloadableProductInjectable\GroupPriceOptions'
- ];
-
- protected $has_options = [
- 'attribute_code' => 'has_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $image = [
- 'attribute_code' => 'image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $image_label = [
- 'attribute_code' => 'image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $is_returnable = [
- 'attribute_code' => 'is_returnable',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '2',
- 'input' => 'select',
- ];
-
- protected $links_exist = [
- 'attribute_code' => 'links_exist',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $links_purchased_separately = [
- 'attribute_code' => 'links_purchased_separately',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $links_title = [
- 'attribute_code' => 'links_title',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $media_gallery = [
- 'attribute_code' => 'media_gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $meta_description = [
- 'attribute_code' => 'meta_description',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $meta_keyword = [
- 'attribute_code' => 'meta_keyword',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $meta_title = [
- 'attribute_code' => 'meta_title',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $minimal_price = [
- 'attribute_code' => 'minimal_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp = [
- 'attribute_code' => 'msrp',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'price',
- ];
-
- protected $msrp_display_actual_price_type = [
- 'attribute_code' => 'msrp_display_actual_price_type',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '4',
- 'input' => 'select',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $news_from_date = [
- 'attribute_code' => 'news_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $news_to_date = [
- 'attribute_code' => 'news_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $old_id = [
- 'attribute_code' => 'old_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $options_container = [
- 'attribute_code' => 'options_container',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => 'container2',
- 'input' => 'select',
- ];
-
- protected $page_layout = [
- 'attribute_code' => 'page_layout',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $price = [
- 'attribute_code' => 'price',
- 'backend_type' => 'decimal',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'price',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\Price',
- ];
-
- protected $stock_data = [
- 'attribute_code' => 'stock_data',
- 'input' => 'text',
- 'group' => 'advanced-inventory',
- ];
-
- protected $quantity_and_stock_status = [
- 'attribute_code' => 'quantity_and_stock_status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '1',
- 'input' => 'select',
- 'group' => 'product-details',
- ];
-
- protected $related_tgtr_position_behavior = [
- 'attribute_code' => 'related_tgtr_position_behavior',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $related_tgtr_position_limit = [
- 'attribute_code' => 'related_tgtr_position_limit',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $required_options = [
- 'attribute_code' => 'required_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $samples_title = [
- 'attribute_code' => 'samples_title',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $short_description = [
- 'attribute_code' => 'short_description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => 'This is short description for downloadable product',
- 'input' => 'textarea',
- 'group' => 'autosettings',
- ];
-
- protected $downloadable = [
- 'attribute_code' => 'downloadable',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'group' => 'downloadable_information',
- ];
-
- protected $downloadable_links = [
- 'attribute_code' => 'downloadable_items',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => 'dafault',
- 'input' => 'text',
- 'group' => 'downloadable_information',
- 'source' => 'Magento\Downloadable\Test\Fixture\DownloadableProductInjectable\Links',
- ];
-
- protected $downloadable_sample = [
- 'attribute_code' => 'downloadable_sample',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => 'dafault',
- 'input' => 'text',
- 'group' => 'downloadable_information',
- 'source' => 'Magento\Downloadable\Test\Fixture\DownloadableProductInjectable\Samples',
- ];
-
- protected $sku = [
- 'attribute_code' => 'sku',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $small_image = [
- 'attribute_code' => 'small_image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $small_image_label = [
- 'attribute_code' => 'small_image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $special_from_date = [
- 'attribute_code' => 'special_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $special_price = [
- 'attribute_code' => 'special_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '10',
- 'group' => 'advanced-pricing',
- ];
-
- protected $special_to_date = [
- 'attribute_code' => 'special_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $status = [
- 'attribute_code' => 'status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '1',
- 'input' => 'select',
- 'group' => 'product-details',
- ];
-
- protected $tax_class_id = [
- 'attribute_code' => 'tax_class_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '2',
- 'input' => 'select',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TaxClass',
- ];
-
- protected $thumbnail = [
- 'attribute_code' => 'thumbnail',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $thumbnail_label = [
- 'attribute_code' => 'thumbnail_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $tier_price = [
- 'attribute_code' => 'tier_price',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => 'default',
- 'input' => 'text',
- 'group' => 'advanced-pricing',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\TierPriceOptions',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $upsell_tgtr_position_behavior = [
- 'attribute_code' => 'upsell_tgtr_position_behavior',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $upsell_tgtr_position_limit = [
- 'attribute_code' => 'upsell_tgtr_position_limit',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $url_key = [
- 'attribute_code' => 'url_key',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'search-engine-optimization',
- ];
-
- protected $url_path = [
- 'attribute_code' => 'url_path',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $visibility = [
- 'attribute_code' => 'visibility',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '4',
- 'input' => 'select',
- 'group' => 'autosettings',
- ];
-
- protected $weight = [
- 'attribute_code' => 'weight',
- 'backend_type' => 'decimal',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'weight',
- 'group' => 'product-details',
- ];
-
- protected $custom_options = [
- 'attribute_code' => 'custom_options',
- 'backend_type' => 'virtual',
- 'is_required' => '0',
- 'default_value' => 'default',
- 'group' => 'customer-options',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CustomOptions',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- ];
-
- protected $is_virtual = [
- 'attribute_code' => 'is_virtual',
- 'backend_type' => 'virtual',
- 'group' => 'product-details',
- ];
-
- protected $website_ids = [
- 'attribute_code' => 'website_ids',
- 'backend_type' => 'virtual',
- 'default_value' => ['Main Website'],
- 'group' => 'websites',
- ];
-
- protected $checkout_data = [
- 'attribute_code' => 'checkout_data',
- 'backend_type' => 'virtual',
- 'group' => null,
- 'source' => 'Magento\Downloadable\Test\Fixture\DownloadableProductInjectable\CheckoutData',
- ];
-
- public function getCategoryIds()
- {
- return $this->getData('category_ids');
- }
-
- public function getCost()
- {
- return $this->getData('cost');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getCustomDesign()
- {
- return $this->getData('custom_design');
- }
-
- public function getCustomDesignFrom()
- {
- return $this->getData('custom_design_from');
- }
-
- public function getCustomDesignTo()
- {
- return $this->getData('custom_design_to');
- }
-
- public function getCustomLayoutUpdate()
- {
- return $this->getData('custom_layout_update');
- }
-
- public function getDescription()
- {
- return $this->getData('description');
- }
-
- public function getGallery()
- {
- return $this->getData('gallery');
- }
-
- public function getGiftMessageAvailable()
- {
- return $this->getData('gift_message_available');
- }
-
- public function getGroupPrice()
- {
- return $this->getData('group_price');
- }
-
- public function getHasOptions()
- {
- return $this->getData('has_options');
- }
-
- public function getImage()
- {
- return $this->getData('image');
- }
-
- public function getImageLabel()
- {
- return $this->getData('image_label');
- }
-
- public function getIsReturnable()
- {
- return $this->getData('is_returnable');
- }
-
- public function getLinksExist()
- {
- return $this->getData('links_exist');
- }
-
- public function getLinksPurchasedSeparately()
- {
- return $this->getData('links_purchased_separately');
- }
-
- public function getLinksTitle()
- {
- return $this->getData('links_title');
- }
-
- public function getMediaGallery()
- {
- return $this->getData('media_gallery');
- }
-
- public function getMetaDescription()
- {
- return $this->getData('meta_description');
- }
-
- public function getMetaKeyword()
- {
- return $this->getData('meta_keyword');
- }
-
- public function getMetaTitle()
- {
- return $this->getData('meta_title');
- }
-
- public function getMinimalPrice()
- {
- return $this->getData('minimal_price');
- }
-
- public function getMsrp()
- {
- return $this->getData('msrp');
- }
-
- public function getMsrpDisplayActualPriceType()
- {
- return $this->getData('msrp_display_actual_price_type');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getNewsFromDate()
- {
- return $this->getData('news_from_date');
- }
-
- public function getNewsToDate()
- {
- return $this->getData('news_to_date');
- }
-
- public function getOldId()
- {
- return $this->getData('old_id');
- }
-
- public function getOptionsContainer()
- {
- return $this->getData('options_container');
- }
-
- public function getPageLayout()
- {
- return $this->getData('page_layout');
- }
-
- public function getPrice()
- {
- return $this->getData('price');
- }
-
- public function getQuantityAndStockStatus()
- {
- return $this->getData('quantity_and_stock_status');
- }
-
- public function getRelatedTgtrPositionBehavior()
- {
- return $this->getData('related_tgtr_position_behavior');
- }
-
- public function getRelatedTgtrPositionLimit()
- {
- return $this->getData('related_tgtr_position_limit');
- }
-
- public function getRequiredOptions()
- {
- return $this->getData('required_options');
- }
-
- public function getSamplesTitle()
- {
- return $this->getData('samples_title');
- }
-
- public function getShortDescription()
- {
- return $this->getData('short_description');
- }
-
- public function getSku()
- {
- return $this->getData('sku');
- }
-
- public function getSmallImage()
- {
- return $this->getData('small_image');
- }
-
- public function getSmallImageLabel()
- {
- return $this->getData('small_image_label');
- }
-
- public function getSpecialFromDate()
- {
- return $this->getData('special_from_date');
- }
-
- public function getSpecialPrice()
- {
- return $this->getData('special_price');
- }
-
- public function getSpecialToDate()
- {
- return $this->getData('special_to_date');
- }
-
- public function getStatus()
- {
- return $this->getData('status');
- }
-
- public function getTaxClassId()
- {
- return $this->getData('tax_class_id');
- }
-
- public function getThumbnail()
- {
- return $this->getData('thumbnail');
- }
-
- public function getThumbnailLabel()
- {
- return $this->getData('thumbnail_label');
- }
-
- public function getTierPrice()
- {
- return $this->getData('tier_price');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-
- public function getUpsellTgtrPositionBehavior()
- {
- return $this->getData('upsell_tgtr_position_behavior');
- }
-
- public function getUpsellTgtrPositionLimit()
- {
- return $this->getData('upsell_tgtr_position_limit');
- }
-
- public function getUrlKey()
- {
- return $this->getData('url_key');
- }
-
- public function getUrlPath()
- {
- return $this->getData('url_path');
- }
-
- public function getVisibility()
- {
- return $this->getData('visibility');
- }
-
- public function getWeight()
- {
- return $this->getData('weight');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getCustomOptions()
- {
- return $this->getData('custom_options');
- }
-
- public function getCheckoutData()
- {
- return $this->getData('checkout_data');
- }
-
- public function getDownloadableLinks()
- {
- return $this->getData('downloadable_links');
- }
-
- public function getDownloadableSample()
- {
- return $this->getData('downloadable_sample');
- }
-
- public function getIsVirtual()
- {
- return $this->getData('is_virtual');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProductInjectable.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProductInjectable.xml
index 407926bab678b..20652c29b0227 100644
--- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProductInjectable.xml
+++ b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProductInjectable.xml
@@ -5,478 +5,527 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Downloadable
eav
catalog_product
downloadable
Magento\Catalog\Model\Resource\Product\Collection
sku
+ Magento\Downloadable\Test\Repository\DownloadableProductInjectable
+ Magento\Downloadable\Test\Handler\DownloadableProductInjectable\DownloadableProductInjectableInterface
+
+ DownloadableProduct_%isolation%
+ DownloadableProduct_%isolation%
+ downloadableproduct_%isolation%
+
+ - 100.00
+
+
+ - Taxable Goods
+
+ This is description for downloadable product
+ This is short description for downloadable product
+
+ - 1.000
+ - In Stock
+
+ Yes
+
+ - default
+
+
+
+ - downloadable
+ -
+
- downloadable
+ - 4
+
+ - product
+
-
+
category_ids
static
0
-
+
text
product-details
-
-
- cost
+
+
+ cost
decimal
0
-
+
price
-
-
+
+
created_at
static
1
-
+
text
-
-
+
+
custom_design
varchar
0
-
+
select
-
-
+
+
custom_design_from
datetime
0
-
+
date
-
-
+
+
custom_design_to
datetime
0
-
+
date
-
-
+
+
custom_layout_update
text
0
-
+
textarea
-
-
+
+
description
text
0
-
+ This is description for downloadable product
textarea
product-details
-
-
+
+
gallery
varchar
0
-
+
gallery
-
-
+
+
gift_message_available
varchar
0
-
+
select
-
-
+
+
group_price
decimal
0
-
+
text
-
-
+ advanced-pricing
+
+
+
has_options
static
0
-
+
text
-
-
+
+
image
varchar
0
-
+
media_image
-
-
+
+
image_label
varchar
0
-
+
text
-
-
+
+
is_returnable
varchar
0
- 2
+ 2
select
-
-
+
+
links_exist
int
0
- 0
-
-
-
+ 0
+
+
+
links_purchased_separately
int
1
-
-
-
-
+
+
+
+
links_title
varchar
1
-
-
-
-
+
+
+
+
media_gallery
varchar
0
-
+
gallery
-
-
+
+
meta_description
varchar
0
-
+
textarea
-
-
+
+
meta_keyword
text
0
-
+
textarea
-
-
+
+
meta_title
varchar
0
-
+
text
-
-
+
+
minimal_price
decimal
0
-
+
price
-
-
+
+
msrp
decimal
0
-
+
price
-
-
+
+
msrp_display_actual_price_type
varchar
0
- 4
+ 4
select
-
-
+
+
name
varchar
1
-
+ DownloadableProduct_%isolation%
text
-
-
+ product-details
+
+
news_from_date
datetime
0
-
+
date
-
-
+
+
news_to_date
datetime
0
-
+
date
-
-
+
+
old_id
int
0
-
+
text
-
-
+
+
options_container
varchar
0
- container2
+ container2
select
-
-
+
+
page_layout
varchar
0
-
+
select
-
-
+
+
price
decimal
1
-
+
+ - 100
+
price
+ product-details
-
-
+
+
+ stock_data
+ text
+ advanced-inventory
+
+
+ quantity_and_stock_status
+ int
+ 0
+
+ - 1
+ - In Stock
+
+ select
+ product-details
+
+
related_tgtr_position_behavior
int
0
-
+
text
-
-
+
+
related_tgtr_position_limit
int
0
-
+
text
-
-
+
+
required_options
static
0
-
+
text
-
-
+
+
samples_title
varchar
1
-
-
-
-
+
+
+
+
short_description
text
0
-
+ This is short description for downloadable product
textarea
- autosetting
-
-
+ autosettings
+
+
+ downloadable
+ virtual
+ 0
+ downloadable_information
+
+
+ downloadable_items
+ text
+ 0
+
+ - default
+
+ text
+ downloadable_information
+
+
+
+ downloadable_sample
+ text
+ 0
+ dafault
+ text
+ downloadable_information
+
+
+
sku
static
1
-
+ DownloadableProduct_%isolation%
text
-
-
+ product-details
+
+
small_image
varchar
0
-
+
media_image
-
-
+
+
small_image_label
varchar
0
-
+
text
-
-
+
+
special_from_date
datetime
0
-
+
date
-
-
+
+
special_price
decimal
0
-
-
-
+ 10
+ advanced-pricing
+
+
special_to_date
datetime
0
-
+
date
-
-
+
+
status
int
0
- 1
+ 1
select
-
-
+ product-details
+
+
tax_class_id
int
0
- 2
-
- product-details
+
+ - taxable_goods
+
select
-
-
+ product-details
+
+
+
thumbnail
varchar
0
-
+
media_image
-
-
+
+
thumbnail_label
varchar
0
-
+
text
-
-
+
+
tier_price
decimal
0
-
+ default
text
-
-
+ advanced-pricing
+
+
+
updated_at
static
1
-
+
text
-
-
+
+
upsell_tgtr_position_behavior
int
0
-
+
text
-
-
+
+
upsell_tgtr_position_limit
int
0
-
+
text
-
-
+
+
url_key
varchar
0
-
+ downloadableproduct_%isolation%
text
search-engine-optimization
-
-
+
+
url_path
varchar
0
-
+
text
-
-
+
+
visibility
int
0
- 4
+ 4
select
-
-
+ autosettings
+
+
weight
decimal
0
-
+
weight
-
-
+ product-details
+
+
+ custom_options
+ virtual
+ 0
+ default
+ customer-options
+
+
+
id
virtual
-
-
- inventory_manage_stock
- select
-
-
- quantity_and_stock_status
- select
-
-
- inventory_qty
- text
-
-
- stock_data_use_config_min_qty
- checkbox
-
-
- stock_data_min_qty
- text
-
-
+
+
+ is_virtual
+ virtual
+ product-details
+ Yes
+
+
website_ids
virtual
- Main Website
+
+ - Main Website
+
websites
-
-
- downloadable_links
- virtual
- downloadable_information
-
-
-
- downloadable_sample
- virtual
- downloadable_information
-
-
-
+
+
checkout_data
virtual
-
+ null
-
-
- is_virtual
- virtual
- product-details
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
- downloadable
- 4
-
- product
-
- Magento\Downloadable\Test\Repository\DownloadableProductInjectable
- Magento\Downloadable\Test\Handler\DownloadableProductInjectable\DownloadableProductInjectableInterface
diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProductInjectable.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProductInjectable.php
deleted file mode 100644
index 462ff906b32dc..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProductInjectable.php
+++ /dev/null
@@ -1,139 +0,0 @@
-_data['default'] = [
- 'name' => 'Test downloadable product %isolation%',
- 'sku' => 'sku_test_downloadable_product_%isolation%',
- 'price' => ['value' => 280.00, 'preset' => '-'],
- 'type_id' => 'downloadable',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'quantity_and_stock_status' => [
- 'qty' => 90.0000,
- 'is_in_stock' => 'In Stock',
- ],
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'url_key' => 'test-downloadable-product-%isolation%',
- 'is_virtual' => 'Yes',
- 'downloadable_links' => ['preset' => 'default'],
- 'website_ids' => ['Main Website'],
- 'checkout_data' => ['preset' => 'default'],
- ];
- $this->_data['with_two_separately_links'] = [
- 'name' => 'Downloadable product %isolation%',
- 'sku' => 'downloadable_product_%isolation%',
- 'url_key' => 'downloadable-product-%isolation%',
- 'price' => ['value' => '20'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'quantity_and_stock_status' => [
- 'qty' => 1111,
- 'is_in_stock' => 'In Stock',
- ],
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'is_virtual' => 'Yes',
- 'downloadable_links' => ['preset' => 'with_two_separately_links'],
- 'checkout_data' => ['preset' => 'with_two_separately_links'],
- ];
- $this->_data['with_two_bought_links'] = [
- 'name' => 'Downloadable product %isolation%',
- 'sku' => 'downloadable_product_%isolation%',
- 'url_key' => 'downloadable-product-%isolation%',
- 'price' => ['value' => '20'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'quantity_and_stock_status' => [
- 'qty' => 1111,
- 'is_in_stock' => 'In Stock',
- ],
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'is_virtual' => 'Yes',
- 'downloadable_links' => ['preset' => 'with_two_separately_links'],
- 'checkout_data' => ['preset' => 'with_two_bought_links'],
- ];
- $this->_data['with_two_separately_links_special_price_and_category'] = [
- 'name' => 'Downloadable product %isolation%',
- 'sku' => 'downloadable_product_%isolation%',
- 'type_id' => 'downloadable',
- 'url_key' => 'downloadable-product-%isolation%',
- 'price' => ['value' => '30'],
- 'special_price' => '20',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'quantity_and_stock_status' => [
- 'qty' => 1111,
- 'is_in_stock' => 'In Stock'
- ],
- 'status' => 'Product online',
- 'category_ids' => ['presets' => 'default'],
- 'visibility' => 'Catalog, Search',
- 'is_virtual' => 'Yes',
- 'website_ids' => ['Main Website'],
- 'downloadable_links' => ['preset' => 'with_two_separately_links'],
- 'checkout_data' => ['preset' => 'with_two_separately_links']
- ];
- $this->_data['with_two_separately_links_group_price_and_category'] = [
- 'name' => 'Downloadable product %isolation%',
- 'sku' => 'downloadable_product_%isolation%',
- 'type_id' => 'downloadable',
- 'url_key' => 'downloadable-product-%isolation%',
- 'price' => ['value' => '30'],
- 'group_price' => ['preset' => 'downloadable_with_tax'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'quantity_and_stock_status' => [
- 'qty' => 1111,
- 'is_in_stock' => 'In Stock'
- ],
- 'status' => 'Product online',
- 'category_ids' => ['presets' => 'default'],
- 'visibility' => 'Catalog, Search',
- 'is_virtual' => 'Yes',
- 'website_ids' => ['Main Website'],
- 'downloadable_links' => ['preset' => 'with_two_separately_links'],
- 'checkout_data' => ['preset' => 'with_two_separately_links']
- ];
- $this->_data['with_two_separately_links_custom_options_and_category'] = [
- 'name' => 'Downloadable product %isolation%',
- 'sku' => 'downloadable_product_%isolation%',
- 'type_id' => 'downloadable',
- 'url_key' => 'downloadable-product-%isolation%',
- 'price' => ['value' => '20'],
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'quantity_and_stock_status' => [
- 'qty' => 1111,
- 'is_in_stock' => 'In Stock'
- ],
- 'status' => 'Product online',
- 'category_ids' => ['presets' => 'default'],
- 'visibility' => 'Catalog, Search',
- 'is_virtual' => 'Yes',
- 'website_ids' => ['Main Website'],
- 'custom_options' => ['preset' => 'drop_down_with_one_option_percent_price'],
- 'downloadable_links' => ['preset' => 'with_two_separately_links'],
- 'checkout_data' => ['preset' => 'one_custom_option_and_downloadable_link']
- ];
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProductInjectable.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProductInjectable.xml
new file mode 100644
index 0000000000000..77e82d777f9a4
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProductInjectable.xml
@@ -0,0 +1,190 @@
+
+
+
+
+
+ Test downloadable product %isolation%
+ sku_test_downloadable_product_%isolation%
+
+ - 280
+ - -
+
+ downloadable
+
+ - taxable_goods
+
+
+ - 90
+ - In Stock
+
+ Product online
+ Catalog, Search
+ test-downloadable-product-%isolation%
+ Yes
+
+ - default
+
+
+ - Main Website
+
+
+ - default
+
+
+
+
+ Downloadable product %isolation%
+ downloadable_product_%isolation%
+ downloadable-product-%isolation%
+
+ - 20
+
+
+ - taxable_goods
+
+
+ - 1111
+ - In Stock
+
+ Product online
+ Catalog, Search
+ Yes
+
+ - with_two_separately_links
+
+
+ - with_two_separately_links
+
+
+
+
+ Downloadable product %isolation%
+ downloadable_product_%isolation%
+ downloadable-product-%isolation%
+
+ - 20
+
+
+ - taxable_goods
+
+
+ - 1111
+ - In Stock
+
+ Product online
+ Catalog, Search
+ Yes
+
+ - with_two_separately_links
+
+
+ - with_two_bought_links
+
+
+
+
+ Downloadable product %isolation%
+ downloadable_product_%isolation%
+ downloadable-product-%isolation%
+
+ - 30
+
+ 20
+
+ - taxable_goods
+
+
+ - 1111
+ - In Stock
+
+ Product online
+
+ - default
+
+ Catalog, Search
+ Yes
+
+ - Main Website
+
+
+ - with_two_separately_links
+
+
+ - with_two_bought_links
+
+
+
+
+ Downloadable product %isolation%
+ downloadable_product_%isolation%
+ downloadable-product-%isolation%
+
+ - 30
+
+
+ - downloadable_with_tax
+
+
+ - taxable_goods
+
+
+ - 1111
+ - In Stock
+
+ Product online
+
+ - default
+
+ Catalog, Search
+ Yes
+
+ - Main Website
+
+
+ - with_two_separately_links
+
+
+ - with_two_bought_links
+
+
+
+
+ Downloadable product %isolation%
+ downloadable_product_%isolation%
+ downloadable-product-%isolation%
+
+ - 20
+
+
+ - taxable_goods
+
+
+ - 1111
+ - In Stock
+
+ Product online
+
+ - default
+
+ Catalog, Search
+ Yes
+
+ - Main Website
+
+
+ - with_two_separately_links
+
+
+ - drop_down_with_one_option_percent_price
+
+
+ - one_custom_option_and_downloadable_link
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest/test.csv
index 486f051573ba4..35f2819c56f33 100644
--- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest/test.csv
@@ -1,15 +1,15 @@
"product/data/name";"product/data/sku";"product/data/price/value";"product/data/tax_class_id/dataSet";"product/data/quantity_and_stock_status/qty";"product/data/quantity_and_stock_status/is_in_stock";"product/data/is_virtual";"product/data/category";"product/data/description";"product/data/short_description";"product/data/stock_data/manage_stock";"product/data/stock_data/qty";"product/data/stock_data/use_config_min_qty";"product/data/stock_data/min_qty";"product/data/downloadable_sample/preset";"product/data/downloadable_links/preset";"product/data/custom_options/preset";"product/data/custom_options/import_products";"product/data/special_price";"product/data/group_price/preset";"product/data/tier_price/preset";"product/data/url_key";"constraint"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"100";"Taxable Goods";"1";"In Stock";"Yes";"Default Category";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductVisibleInCategory, assertProductPage, assertProductInStock"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"1";"Taxable Goods";"10";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"default";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductVisibleInCategory, assertDownloadableSamplesData, assertDownloadableLinksData"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"33";"Taxable Goods";"10";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"-";"default";"default";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertDownloadableProductForm, assertProductCustomOptionsOnProductPage, assertProductVisibleInCategory, assertProductPage, assertDownloadableLinksData"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"55";"Taxable Goods";"10";"In Stock";"Yes";"-";"-";"-";"-";"-";"-";"-";"with_three_samples";"with_three_links";"two_options";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductCustomOptionsOnProductPage, assertProductInGrid, assertDownloadableProductForm, assertProductVisibleInCategory, assertProductPage, assertDownloadableLinksData, assertProductInStock, assertProductSearchableBySku"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"100";"Taxable Goods";"50";"Out of Stock";"Yes";"Default Category";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductOutOfStock, assertProductInGrid, assertDownloadableProductForm"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"9999";"Taxable Goods";"-";"-";"Yes";"Default Category";"-";"-";"Yes";"123";"No";"123";"-";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductOutOfStock"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"100";"taxable_goods";"1";"In Stock";"Yes";"Default Category";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductVisibleInCategory, assertProductPage, assertProductInStock"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"1";"taxable_goods";"10";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"default";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductVisibleInCategory, assertDownloadableSamplesData, assertDownloadableLinksData"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"33";"taxable_goods";"10";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"-";"default";"default";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertDownloadableProductForm, assertProductCustomOptionsOnProductPage, assertProductVisibleInCategory, assertProductPage, assertDownloadableLinksData"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"55";"taxable_goods";"10";"In Stock";"Yes";"-";"-";"-";"-";"-";"-";"-";"with_three_samples";"with_three_links";"two_options";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductCustomOptionsOnProductPage, assertProductInGrid, assertDownloadableProductForm, assertProductVisibleInCategory, assertProductPage, assertDownloadableLinksData, assertProductInStock, assertProductSearchableBySku"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"100";"taxable_goods";"50";"Out of Stock";"Yes";"Default Category";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductOutOfStock, assertProductInGrid, assertDownloadableProductForm"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"9999";"taxable_goods";"-";"-";"Yes";"Default Category";"-";"-";"Yes";"123";"No";"123";"-";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductOutOfStock"
"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"98";"None";"5";"In Stock";"Yes";"Default Category";"This is description for downloadable product";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"57";"Taxable Goods";"10";"In Stock";"Yes";"category %isolation%";"-";"This is short description for downloadable product";"-";"-";"-";"-";"default";"with_three_links";"default";"catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductCustomOptionsOnProductPage, assertDownloadableSamplesData, assertDownloadableLinksData"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"65";"Taxable Goods";"11";"In Stock";"Yes";"category %isolation%";"This is description for downloadable product";"This is short description for downloadable product";"-";"-";"-";"-";"default";"with_three_links";"default";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductPage, assertProductInGrid, assertDownloadableProductForm, assertProductCustomOptionsOnProductPage, assertDownloadableSamplesData, assertDownloadableLinksData"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"65";"Taxable Goods";"11";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"default";"with_three_links";"default";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertDownloadableLinksData, assertProductCustomOptionsOnProductPage"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"100";"Taxable Goods";"-";"-";"Yes";"Default Category";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertDownloadableProductForm, assertProductVisibleInCategory, assertProductPage"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"10";"Taxable Goods";"10";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"5";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductSpecialPriceOnProductPage"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"365";"Taxable Goods";"23";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"default";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductGroupedPriceOnProductPage"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"250";"Taxable Goods";"65";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"-";"default";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductTierPriceOnProductPage"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"57";"taxable_goods";"10";"In Stock";"Yes";"category %isolation%";"-";"This is short description for downloadable product";"-";"-";"-";"-";"default";"with_three_links";"default";"catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductCustomOptionsOnProductPage, assertDownloadableSamplesData, assertDownloadableLinksData"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"65";"taxable_goods";"11";"In Stock";"Yes";"category %isolation%";"This is description for downloadable product";"This is short description for downloadable product";"-";"-";"-";"-";"default";"with_three_links";"default";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductPage, assertProductInGrid, assertDownloadableProductForm, assertProductCustomOptionsOnProductPage, assertDownloadableSamplesData, assertDownloadableLinksData"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"65";"taxable_goods";"11";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"default";"with_three_links";"default";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertDownloadableLinksData, assertProductCustomOptionsOnProductPage"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"100";"taxable_goods";"-";"-";"Yes";"Default Category";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertDownloadableProductForm, assertProductVisibleInCategory, assertProductPage"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"10";"taxable_goods";"10";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"5";"-";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductSpecialPriceOnProductPage"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"365";"taxable_goods";"23";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"default";"-";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductGroupedPriceOnProductPage"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"250";"taxable_goods";"65";"In Stock";"Yes";"category %isolation%";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"-";"-";"default";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductTierPriceOnProductPage"
diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest/test.csv
index c808ff7aad0bd..492debf2dbefc 100644
--- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest/test.csv
@@ -1,7 +1,7 @@
"product/data/name";"product/data/sku";"product/data/price/value";"product/data/tax_class_id/dataSet";"product/data/quantity_and_stock_status/qty";"product/data/quantity_and_stock_status/is_in_stock";"product/data/is_virtual";"product/data/weight";"product/data/category";"product/data/description";"product/data/short_description";"product/data/stock_data/manage_stock";"product/data/stock_data/qty";"product/data/stock_data/use_config_min_qty";"product/data/stock_data/min_qty";"product/data/downloadable_sample/preset";"product/data/downloadable_links/preset";"product/data/custom_options/preset";"product/data/special_price";"isRequired";"product/data/url_key";"constraint"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"55";"Taxable Goods";"10";"In Stock";"Yes";"-";"-";"-";"-";"-";"-";"-";"-";"with_three_samples";"with_three_links";"two_options";"-";"No";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertDownloadableLinksData, assertProductInStock, assertProductCustomOptionsOnProductPage, assertProductSearchableBySku"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"100";"Taxable Goods";"50";"Out of Stock";"Yes";"-";"Default Category";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"No";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductOutOfStock, assertProductInGrid, assertDownloadableProductForm"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"9999";"Taxable Goods";"123";"-";"Yes";"-";"Default Category";"-";"-";"Yes";"-";"No";"123";"-";"-";"-";"-";"No";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductOutOfStock"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"55";"taxable_goods";"10";"In Stock";"Yes";"-";"-";"-";"-";"-";"-";"-";"-";"with_three_samples";"with_three_links";"two_options";"-";"No";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertDownloadableLinksData, assertProductInStock, assertProductCustomOptionsOnProductPage, assertProductSearchableBySku"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"100";"taxable_goods";"50";"Out of Stock";"Yes";"-";"Default Category";"-";"-";"-";"-";"-";"-";"-";"default";"-";"-";"No";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductOutOfStock, assertProductInGrid, assertDownloadableProductForm"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"9999";"taxable_goods";"123";"-";"Yes";"-";"Default Category";"-";"-";"Yes";"-";"No";"123";"-";"-";"-";"-";"No";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductOutOfStock"
"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"48";"None";"5";"In Stock";"Yes";"-";"Default Category";"This is description for downloadable product";"-";"-";"-";"-";"-";"-";"default";"-";"-";"No";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"54";"Taxable Goods";"10";"In Stock";"Yes";"-";"category %isolation%";"-";"This is short description for downloadable product";"-";"-";"-";"-";"default";"with_three_links";"default";"-";"Yes";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductCustomOptionsOnProductPage, assertDownloadableSamplesData, assertDownloadableLinksData, assertProductInCategory"
-"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"43";"Taxable Goods";"10";"In Stock";"Yes";"10";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"40";"No";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductSpecialPriceOnProductPage, assertProductPage"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"54";"taxable_goods";"10";"In Stock";"Yes";"-";"category %isolation%";"-";"This is short description for downloadable product";"-";"-";"-";"-";"default";"with_three_links";"default";"-";"Yes";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertDownloadableProductForm, assertProductPage, assertProductCustomOptionsOnProductPage, assertDownloadableSamplesData, assertDownloadableLinksData, assertProductInCategory"
+"DownloadableProduct_%isolation%";"DownloadableProduct_%isolation%";"43";"taxable_goods";"10";"In Stock";"Yes";"10";"-";"-";"-";"-";"-";"-";"-";"-";"-";"-";"40";"No";"downloadableproduct-%isolation%";"assertProductSaveMessage, assertProductInGrid, assertProductSpecialPriceOnProductPage, assertProductPage"
diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/fixture.xml
index e6c31c061c081..c387993df2b0a 100644
--- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/fixture.xml
+++ b/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/fixture.xml
@@ -18,7 +18,7 @@
virtual
-
+
@@ -28,7 +28,7 @@
-
+
downloadable
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
new file mode 100644
index 0000000000000..a3a12ad9fa80c
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Fedex/Test/Repository/ConfigData.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ 0
+
+
+
+ 1
+ CARRIERS_FEDEX_ACCOUNT
+ CARRIERS_FEDEX_METER_NUMBER
+ CARRIERS_FEDEX_KEY
+ CARRIERS_FEDEX_PASSWORD
+ 1
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.php
deleted file mode 100644
index d5857c0b99c21..0000000000000
--- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.php
+++ /dev/null
@@ -1,137 +0,0 @@
- 'Yes',
- 'allow_gift_messages_for_order' => 'Yes',
- 'sender' => 'John Doe',
- 'recipient' => 'Jane Doe',
- 'message' => 'text_%isolation%',
- ];
-
- protected $gift_message_id = [
- 'attribute_code' => 'gift_message_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_id = [
- 'attribute_code' => 'customer_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $sender = [
- 'attribute_code' => 'sender',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $recipient = [
- 'attribute_code' => 'recipient',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $message = [
- 'attribute_code' => 'message',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $allow_gift_options = [
- 'attribute_code' => 'allow_gift_options',
- 'backend_type' => 'virtual',
- ];
-
- protected $allow_gift_messages_for_order = [
- 'attribute_code' => 'allow_gift_messages_for_order',
- 'backend_type' => 'virtual',
- ];
-
- protected $allow_gift_options_for_items = [
- 'attribute_code' => 'allow_gift_options_for_items',
- 'backend_type' => 'virtual',
- ];
-
- protected $items = [
- 'attribute_code' => 'items',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\GiftMessage\Test\Fixture\GiftMessage\Items',
- ];
-
- public function getGiftMessageId()
- {
- return $this->getData('gift_message_id');
- }
-
- public function getCustomerId()
- {
- return $this->getData('customer_id');
- }
-
- public function getSender()
- {
- return $this->getData('sender');
- }
-
- public function getRecipient()
- {
- return $this->getData('recipient');
- }
-
- public function getMessage()
- {
- return $this->getData('message');
- }
-
- public function getAllowGiftMessagesForOrder()
- {
- return $this->getData('allow_gift_messages_for_order');
- }
-
- public function getAllowGiftOptionsForItems()
- {
- return $this->getData('allow_gift_options_for_items');
- }
-
- public function getAllowGiftOptions()
- {
- return $this->getData('allow_gift_options');
- }
-
- public function getItems()
- {
- return $this->getData('items');
- }
-}
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
index 659ce1cbfac3e..a1d49ff04bf44 100644
--- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.xml
+++ b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.xml
@@ -5,64 +5,76 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_GiftMessage
flat
gift_message
Magento\GiftMessage\Model\Resource\Message\Collection
gift_message_id
+ Magento\GiftMessage\Test\Repository\GiftMessage
+
+ Yes
+ Yes
+ John Doe
+ Jane Doe
+ text_%isolation%
+
-
+
gift_message_id
int
1
-
+
-
-
+
+
customer_id
int
- 0
+ 0
-
-
- sender
+
+
+ sender
varchar
-
+ John Doe
-
-
+
+
recipient
varchar
-
+ Jane Doe
-
-
- message
+
+
+ message
text
-
+ text_%isolation%
-
-
+
+
allow_gift_options
virtual
-
-
+ Yes
+
+
allow_gift_messages_for_order
virtual
-
-
+ Yes
+
+
allow_gift_options_for_items
virtual
-
-
+
+
items
virtual
-
+
+
- Magento\GiftMessage\Test\Repository\GiftMessage
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
new file mode 100644
index 0000000000000..609f6d89a1077
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/ConfigData.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ 1
+ 1
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/GiftMessage.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/GiftMessage.php
deleted file mode 100644
index c0aae33db525f..0000000000000
--- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/GiftMessage.php
+++ /dev/null
@@ -1,32 +0,0 @@
-_data['default'] = [
- 'sender' => 'John Doe',
- 'recipient' => 'Jane Doe',
- 'message' => 'text_%isolation%',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..42798cdb8a340
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/GiftMessage.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ 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
new file mode 100644
index 0000000000000..26105a20e15e4
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest.php
@@ -0,0 +1,44 @@
+executeScenario();
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest/test.csv b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest/test.csv
new file mode 100644
index 0000000000000..a11cab46509db
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest/test.csv
@@ -0,0 +1,3 @@
+"products";"customer/dataSet";"billingAddress/dataSet";"checkoutMethod";"shipping/shipping_service";"shipping/shipping_method";"giftMessage/data/allow_gift_options";"giftMessage/data/allow_gift_messages_for_order";"giftMessage/data/allow_gift_options_for_items";"giftMessage/data/sender";"giftMessage/data/recipient";"giftMessage/data/message";"payment/method";"constraint"
+"catalogProductSimple::default, catalogProductVirtual::default";"customer_US";"customer_US";"login";"Flat Rate";"Fixed";"Yes";"Yes";"-";"John Doe";"Jane Doe";"text_gift_message";"cashondelivery";"assertOrderSuccessPlacedMessage, assertGiftMessageInFrontendOrder"
+"catalogProductSimple::default, catalogProductVirtual::default";"customer_US";"customer_US";"login";"Flat Rate";"Fixed";"Yes";"-";"Yes";"John Doe";"Jane Doe";"text_gift_message";"cashondelivery";"assertOrderSuccessPlacedMessage, assertGiftMessageInFrontendOrderItems"
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
new file mode 100644
index 0000000000000..ada89404bb3ec
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest.php
@@ -0,0 +1,58 @@
+Orders
+ * 3. Create new order
+ * 4. Fill data form dataSet
+ * 5. Perform all asserts
+ *
+ * @group Gift_Messages_(CS)
+ * @ZephyrId MAGETWO-29642
+ */
+class CreateGiftMessageOnBackendTest extends Scenario
+{
+ /* tags */
+ const MVP = 'no';
+ const DOMAIN = 'CS';
+ /* end tags */
+
+ /**
+ * Run CreateGiftMessageOnBackend test.
+ *
+ * @return void
+ */
+ public function test()
+ {
+ $this->executeScenario();
+ }
+
+ /**
+ * Disable enabled config after test.
+ *
+ * @return void
+ */
+ public function tearDown()
+ {
+ $setConfigStep = $this->objectManager->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'cashondelivery', 'rollback' => true]
+ );
+ $setConfigStep->run();
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest/test.csv b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest/test.csv
new file mode 100644
index 0000000000000..eceb66e4d4caf
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest/test.csv
@@ -0,0 +1,4 @@
+"products";"customer/dataSet";"billingAddress/dataSet";"shipping/shipping_service";"shipping/shipping_method";"giftMessage/data/allow_gift_options";"giftMessage/data/allow_gift_messages_for_order";"giftMessage/data/allow_gift_options_for_items";"giftMessage/data/sender";"giftMessage/data/recipient";"giftMessage/data/message";"giftMessage/data/items/dataSets";"payment/method";"constraint"
+"catalogProductSimple::default, catalogProductVirtual::default";"customer_US";"customer_US";"Flat Rate";"Fixed";"Yes";"-";"Yes";"John Doe";"Jane Doe";"text_gift_message";"default, default";"cashondelivery";"assertOrderSuccessCreateMessage, assertGiftMessageInBackendOrder, assertGiftMessageInFrontendOrderItems"
+"catalogProductSimple::default, catalogProductVirtual::default";"customer_US";"customer_US";"Flat Rate";"Fixed";"Yes";"Yes";"-";"John Doe";"Jane Doe";"text_gift_message";"-";"cashondelivery";"assertOrderSuccessCreateMessage, assertGiftMessageInBackendOrder, assertGiftMessageInFrontendOrder"
+"catalogProductSimple::default, catalogProductVirtual::default";"customer_US";"customer_US";"Flat Rate";"Fixed";"Yes";"Yes";"Yes";"John Doe";"Jane Doe";"text_gift_message";"default, default";"cashondelivery";"assertOrderSuccessCreateMessage, assertGiftMessageInBackendOrder, assertGiftMessageInFrontendOrder, assertGiftMessageInFrontendOrderItems"
\ No newline at end of file
diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/scenario.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/scenario.xml
index 71282278e78b0..10cedb90faf83 100644
--- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/scenario.xml
+++ b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/scenario.xml
@@ -13,7 +13,7 @@
setupConfiguration
- - cashondelivery, enableGiftMessages
+ - cashondelivery, enable_gift_messages
createProducts
@@ -56,7 +56,7 @@
setupConfiguration
- - cashondelivery, enableGiftMessages
+ - cashondelivery, enable_gift_messages
createProducts
diff --git a/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.php b/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.php
deleted file mode 100644
index 88734fe6eb2ef..0000000000000
--- a/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.php
+++ /dev/null
@@ -1,88 +0,0 @@
- 'United States',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'category' => 'Apparel & Accessories',
- ];
-
- protected $type_id = [
- 'attribute_code' => 'type_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $attribute_set_id = [
- 'attribute_code' => 'attribute_set_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'source' => 'Magento\GoogleShopping\Test\Fixture\GoogleShoppingAttribute\AttributeSetId',
- ];
-
- protected $target_country = [
- 'attribute_code' => 'target_country',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => 'US',
- 'input' => '',
- ];
-
- protected $category = [
- 'attribute_code' => 'category',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- public function getTypeId()
- {
- return $this->getData('type_id');
- }
-
- public function getAttributeSetId()
- {
- return $this->getData('attribute_set_id');
- }
-
- public function getTargetCountry()
- {
- return $this->getData('target_country');
- }
-
- public function getCategory()
- {
- return $this->getData('category');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.xml b/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.xml
index 9723c08729cc6..ac7a4e551e345 100644
--- a/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.xml
+++ b/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.xml
@@ -5,42 +5,53 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_GoogleShopping
flat
googleshopping_types
Magento\GoogleShopping\Model\Resource\Attribute\Collection
+ Magento\GoogleShopping\Test\Repository\GoogleShoppingAttribute
+ Magento\GoogleShopping\Test\Handler\GoogleShoppingAttribute\GoogleShoppingAttributeInterface
+
+ United States
+
+ - default
+
+ Apparel & Accessories
+
-
+
type_id
int
1
-
-
-
-
+
+
+
+
attribute_set_id
smallint
+
+
+ - default
+
+
-
-
-
-
-
+
+
target_country
varchar
-
- US
-
-
-
+
+ United States
+
+
+
category
varchar
-
-
-
-
+
+ Apparel & Accessories
+
+
- Magento\GoogleShopping\Test\Repository\GoogleShoppingAttribute
- Magento\GoogleShopping\Test\Handler\GoogleShoppingAttribute\GoogleShoppingAttributeInterface
diff --git a/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Repository/GoogleShoppingAttribute.php b/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Repository/GoogleShoppingAttribute.php
deleted file mode 100644
index cbf687a07409e..0000000000000
--- a/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Repository/GoogleShoppingAttribute.php
+++ /dev/null
@@ -1,33 +0,0 @@
-_data['default'] = [
- 'target_country' => 'United States',
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'category' => 'Apparel & Accessories',
- ];
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Repository/GoogleShoppingAttribute.xml b/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Repository/GoogleShoppingAttribute.xml
new file mode 100644
index 0000000000000..5f01282765725
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Repository/GoogleShoppingAttribute.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ United States
+
+ - default
+
+ Apparel & Accessories
+
+
+
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
index 11da495aceed0..73fdc590e255d 100644
--- 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
@@ -1,6 +1,5 @@
data['url_key']) && isset($this->data['name'])) {
- $this->data['url_key'] = trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $this->data['name'])), '-');
- }
- }
-
- protected $dataConfig = [
- 'type_id' => 'grouped',
- 'create_url_params' => [
- 'type' => 'grouped',
- 'set' => '4',
- ],
- 'input_prefix' => 'product',
- ];
-
- protected $defaultDataSet = [
- 'name' => 'GroupedProduct_%isolation%',
- 'sku' => 'GroupedProduct_%isolation%',
- 'tax_class' => 'Taxable Goods',
- 'description' => 'This is description for grouped product',
- 'short_description' => 'This is short description for grouped product',
- 'quantity_and_stock_status' => [
- 'qty' => '1',
- 'is_in_stock' => 'In Stock',
- ],
- ];
-
- protected $category_ids = [
- 'attribute_code' => 'category_ids',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\CategoryIds',
- ];
-
- protected $country_of_manufacture = [
- 'attribute_code' => 'country_of_manufacture',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $custom_design = [
- 'attribute_code' => 'custom_design',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $associated = [
- 'attribute_code' => 'associated',
- 'backend_type' => 'virtual',
- 'is_required' => '1',
- 'group' => 'grouped',
- 'source' => 'Magento\GroupedProduct\Test\Fixture\GroupedProductInjectable\Associated',
- ];
-
- protected $custom_design_from = [
- 'attribute_code' => 'custom_design_from',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_design_to = [
- 'attribute_code' => 'custom_design_to',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $custom_layout_update = [
- 'attribute_code' => 'custom_layout_update',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $description = [
- 'attribute_code' => 'description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'product-details',
- ];
-
- protected $gallery = [
- 'attribute_code' => 'gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $gift_message_available = [
- 'attribute_code' => 'gift_message_available',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $has_options = [
- 'attribute_code' => 'has_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $image = [
- 'attribute_code' => 'image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $image_label = [
- 'attribute_code' => 'image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $is_returnable = [
- 'attribute_code' => 'is_returnable',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '2',
- 'input' => 'select',
- ];
-
- protected $media_gallery = [
- 'attribute_code' => 'media_gallery',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'gallery',
- ];
-
- protected $meta_description = [
- 'attribute_code' => 'meta_description',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $meta_keyword = [
- 'attribute_code' => 'meta_keyword',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'textarea',
- ];
-
- protected $meta_title = [
- 'attribute_code' => 'meta_title',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $news_from_date = [
- 'attribute_code' => 'news_from_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $news_to_date = [
- 'attribute_code' => 'news_to_date',
- 'backend_type' => 'datetime',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'date',
- ];
-
- protected $old_id = [
- 'attribute_code' => 'old_id',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $options_container = [
- 'attribute_code' => 'options_container',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => 'container2',
- 'input' => 'select',
- ];
-
- protected $page_layout = [
- 'attribute_code' => 'page_layout',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'select',
- ];
-
- protected $quantity_and_stock_status = [
- 'attribute_code' => 'quantity_and_stock_status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '1',
- 'input' => 'select',
- 'group' => 'product-details',
-
- ];
-
- protected $stock_data = [
- 'attribute_code' => 'stock_data',
- 'group' => 'advanced-inventory',
- ];
-
- protected $related_tgtr_position_behavior = [
- 'attribute_code' => 'related_tgtr_position_behavior',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $related_tgtr_position_limit = [
- 'attribute_code' => 'related_tgtr_position_limit',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $required_options = [
- 'attribute_code' => 'required_options',
- 'backend_type' => 'static',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $short_description = [
- 'attribute_code' => 'short_description',
- 'backend_type' => 'text',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'autosettings',
- ];
-
- protected $sku = [
- 'attribute_code' => 'sku',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'product-details',
- ];
-
- protected $small_image = [
- 'attribute_code' => 'small_image',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $small_image_label = [
- 'attribute_code' => 'small_image_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $status = [
- 'attribute_code' => 'status',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '1',
- 'input' => 'select',
- ];
-
- protected $thumbnail = [
- 'attribute_code' => 'thumbnail',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'media_image',
- ];
-
- protected $thumbnail_label = [
- 'attribute_code' => 'thumbnail_label',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'static',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $upsell_tgtr_position_behavior = [
- 'attribute_code' => 'upsell_tgtr_position_behavior',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $upsell_tgtr_position_limit = [
- 'attribute_code' => 'upsell_tgtr_position_limit',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $url_key = [
- 'attribute_code' => 'url_key',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- 'group' => 'search-engine-optimization',
- ];
-
- protected $url_path = [
- 'attribute_code' => 'url_path',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $visibility = [
- 'attribute_code' => 'visibility',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'default_value' => '4',
- 'input' => 'select',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- ];
-
- protected $type_id = [
- 'attribute_code' => 'type_id',
- 'backend_type' => 'virtual',
- ];
-
- protected $attribute_set_id = [
- 'attribute_code' => 'attribute_set_id',
- 'backend_type' => 'virtual',
- 'group' => 'product-details',
- 'source' => 'Magento\Catalog\Test\Fixture\CatalogProductSimple\AttributeSetId',
- ];
-
- protected $website_ids = [
- 'attribute_code' => 'website_ids',
- 'backend_type' => 'virtual',
- 'default_value' => ['Main Website'],
- 'group' => 'websites',
- ];
-
- protected $price = [
- 'attribute_code' => 'price',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\GroupedProduct\Test\Fixture\GroupedProductInjectable\Price',
- ];
-
- protected $checkout_data = [
- 'attribute_code' => 'checkout_data',
- 'backend_type' => 'virtual',
- 'group' => null,
- 'source' => 'Magento\GroupedProduct\Test\Fixture\GroupedProductInjectable\CheckoutData',
- ];
-
- public function getCategoryIds()
- {
- return $this->getData('category_ids');
- }
-
- public function getCountryOfManufacture()
- {
- return $this->getData('country_of_manufacture');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getCustomDesign()
- {
- return $this->getData('custom_design');
- }
-
- public function getCustomDesignFrom()
- {
- return $this->getData('custom_design_from');
- }
-
- public function getCustomDesignTo()
- {
- return $this->getData('custom_design_to');
- }
-
- public function getCustomLayoutUpdate()
- {
- return $this->getData('custom_layout_update');
- }
-
- public function getDescription()
- {
- return $this->getData('description');
- }
-
- public function getGallery()
- {
- return $this->getData('gallery');
- }
-
- public function getGiftMessageAvailable()
- {
- return $this->getData('gift_message_available');
- }
-
- public function getHasOptions()
- {
- return $this->getData('has_options');
- }
-
- public function getImage()
- {
- return $this->getData('image');
- }
-
- public function getImageLabel()
- {
- return $this->getData('image_label');
- }
-
- public function getIsReturnable()
- {
- return $this->getData('is_returnable');
- }
-
- public function getMediaGallery()
- {
- return $this->getData('media_gallery');
- }
-
- public function getMetaDescription()
- {
- return $this->getData('meta_description');
- }
-
- public function getMetaKeyword()
- {
- return $this->getData('meta_keyword');
- }
-
- public function getMetaTitle()
- {
- return $this->getData('meta_title');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getNewsFromDate()
- {
- return $this->getData('news_from_date');
- }
-
- public function getNewsToDate()
- {
- return $this->getData('news_to_date');
- }
-
- public function getOldId()
- {
- return $this->getData('old_id');
- }
-
- public function getOptionsContainer()
- {
- return $this->getData('options_container');
- }
-
- public function getPageLayout()
- {
- return $this->getData('page_layout');
- }
-
- public function getQuantityAndStockStatus()
- {
- return $this->getData('quantity_and_stock_status');
- }
-
- public function getRelatedTgtrPositionBehavior()
- {
- return $this->getData('related_tgtr_position_behavior');
- }
-
- public function getRelatedTgtrPositionLimit()
- {
- return $this->getData('related_tgtr_position_limit');
- }
-
- public function getRequiredOptions()
- {
- return $this->getData('required_options');
- }
-
- public function getShortDescription()
- {
- return $this->getData('short_description');
- }
-
- public function getPrice()
- {
- return $this->getData('price');
- }
-
- public function getSpecialPrice()
- {
- return $this->getData('special_price');
- }
-
- public function getGroupPrice()
- {
- return $this->getData('group_price');
- }
-
- public function getTierPrice()
- {
- return $this->getData('tier_price');
- }
-
- public function getSku()
- {
- return $this->getData('sku');
- }
-
- public function getAssociated()
- {
- return $this->getData('associated');
- }
-
- public function getSmallImage()
- {
- return $this->getData('small_image');
- }
-
- public function getSmallImageLabel()
- {
- return $this->getData('small_image_label');
- }
-
- public function getStatus()
- {
- return $this->getData('status');
- }
-
- public function getThumbnail()
- {
- return $this->getData('thumbnail');
- }
-
- public function getThumbnailLabel()
- {
- return $this->getData('thumbnail_label');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-
- public function getUpsellTgtrPositionBehavior()
- {
- return $this->getData('upsell_tgtr_position_behavior');
- }
-
- public function getUpsellTgtrPositionLimit()
- {
- return $this->getData('upsell_tgtr_position_limit');
- }
-
- public function getUrlKey()
- {
- return $this->getData('url_key');
- }
-
- public function getUrlPath()
- {
- return $this->getData('url_path');
- }
-
- public function getVisibility()
- {
- return $this->getData('visibility');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getTypeId()
- {
- return $this->getData('type_id');
- }
-
- public function getAttributeSetId()
- {
- return $this->getData('attribute_set_id');
- }
-
- public function getWebsiteIds()
- {
- return $this->getData('website_ids');
- }
-
- public function getCheckoutData()
- {
- return $this->getData('checkout_data');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProductInjectable.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProductInjectable.xml
index 50e4060cb9c52..c06f177fb98d2 100644
--- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProductInjectable.xml
+++ b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProductInjectable.xml
@@ -5,360 +5,381 @@
* See COPYING.txt for license details.
*/
-->
-
- Magento_Catalog
+
+ Magento_GroupedProduct
eav
catalog_product
grouped
Magento\Catalog\Model\Resource\Product\Collection
sku
+ Magento\GroupedProduct\Test\Repository\GroupedProductInjectable
+ Magento\GroupedProduct\Test\Handler\GroupedProductInjectable\GroupedProductInjectableInterface
+
+ GroupedProduct_%isolation%
+ GroupedProduct_%isolation%
+ Taxable Goods
+ This is description for grouped product
+ This is short description for grouped product
+
+ - 1
+ - In Stock
+
+
+
+ - grouped
+ -
+
- grouped
+ - 4
+
+ - product
+
-
+
category_ids
static
0
-
+
text
-
-
+ product-details
+
+
+
country_of_manufacture
varchar
0
-
+
select
-
-
+
+
created_at
static
1
-
+
text
-
-
+
+
custom_design
varchar
0
-
+
select
-
-
+
+
+ associated
+ virtual
+ 1
+ grouped
+
+
+
custom_design_from
datetime
0
-
+
date
-
-
+
+
custom_design_to
datetime
0
-
+
date
-
-
+
+
custom_layout_update
text
0
-
+
textarea
-
-
+
+
description
text
0
-
- textarea
-
-
+ This is description for grouped product
+
+ product-details
+
+
gallery
varchar
0
-
+
gallery
-
-
+
+
gift_message_available
varchar
0
-
+
select
-
-
+
+
has_options
static
0
-
+
text
-
-
+
+
image
varchar
0
-
+
media_image
-
-
+
+
image_label
varchar
0
-
+
text
-
-
+
+
is_returnable
varchar
0
- 2
+ 2
select
-
-
+
+
media_gallery
varchar
0
-
+
gallery
-
-
+
+
meta_description
varchar
0
-
+
textarea
-
-
+
+
meta_keyword
text
0
-
+
textarea
-
-
+
+
meta_title
varchar
0
-
+
text
-
-
+
+
name
varchar
1
-
+ GroupedProduct_%isolation%
text
-
-
+ product-details
+
+
news_from_date
datetime
0
-
+
date
-
-
+
+
news_to_date
datetime
0
-
+
date
-
-
+
+
old_id
int
0
-
+
text
-
-
+
+
options_container
varchar
0
- container2
+ container2
select
-
-
+
+
page_layout
varchar
0
-
+
select
-
-
+
+
quantity_and_stock_status
int
0
- 1
+
+ - 1
+ - In Stock
+
select
-
-
+ product-details
+
+
+ stock_data
+ advanced-inventory
+
+
related_tgtr_position_behavior
int
0
-
+
text
-
-
+
+
related_tgtr_position_limit
int
0
-
+
text
-
-
+
+
required_options
static
0
-
+
text
-
-
+
+
short_description
text
0
-
- textarea
-
-
+ This is short description for grouped product
+
+ autosettings
+
+
sku
static
1
-
+ GroupedProduct_%isolation%
text
-
-
+ product-details
+
+
small_image
varchar
0
-
+
media_image
-
-
+
+
small_image_label
varchar
0
-
+
text
-
-
+
+
status
int
0
- 1
+ 1
select
-
-
+
+
thumbnail
varchar
0
-
+
media_image
-
-
+
+
thumbnail_label
varchar
0
-
+
text
-
-
+
+
updated_at
static
1
-
+
text
-
-
+
+
upsell_tgtr_position_behavior
int
0
-
+
text
-
-
+
+
upsell_tgtr_position_limit
int
0
-
+
text
-
-
+
+
url_key
varchar
0
-
+
text
search-engine-optimization
-
-
+
+
url_path
varchar
0
-
+
text
-
-
+
+
visibility
int
0
- 4
+ 4
select
-
-
+
+
id
virtual
-
-
- associated
- virtual
- grouped
- 1
-
-
-
+
+
type_id
virtual
-
-
+
+
attribute_set_id
-
virtual
product-details
-
-
+
+
+
website_ids
virtual
- Main Website
+
+ - Main Website
+
websites
-
-
+
+
price
virtual
-
-
-
- stock_data
- advanced-inventory
-
-
+
+
+
checkout_data
virtual
-
+ null
-
+
+
+ taxable_goods
+
-
-
-
-
-
-
-
-
-
- grouped
- 4
-
- product
-
- Magento\Catalog\Test\Repository\GroupedProductInjectable
- Magento\Catalog\Test\Handler\GroupedProductInjectable\GroupedProductInjectableInterface
-
diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProductInjectable/Associated.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProductInjectable/Associated.php
index 4065bfa0221ab..8541be0f1dc01 100644
--- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProductInjectable/Associated.php
+++ b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProductInjectable/Associated.php
@@ -129,7 +129,7 @@ protected function getPreset($name)
],
'products' => [
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product',
+ 'catalogProductSimple::product_100_dollar',
],
],
'defaultSimpleProduct_without_qty' => [
@@ -149,7 +149,7 @@ protected function getPreset($name)
],
'products' => [
'catalogProductSimple::default',
- 'catalogProductSimple::100_dollar_product',
+ 'catalogProductSimple::product_100_dollar',
],
],
'defaultSimpleProduct_with_specialPrice' => [
@@ -189,7 +189,7 @@ protected function getPreset($name)
],
'products' => [
'catalogProductVirtual::default',
- 'catalogProductVirtual::50_dollar_product',
+ 'catalogProductVirtual::product_50_dollar',
],
],
'three_simple_products' => [
@@ -215,8 +215,8 @@ protected function getPreset($name)
],
'products' => [
'catalogProductSimple::default',
- 'catalogProductSimple::40_dollar_product',
- 'catalogProductSimple::100_dollar_product',
+ 'catalogProductSimple::product_40_dollar',
+ 'catalogProductSimple::product_100_dollar',
],
],
];
diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProductInjectable.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProductInjectable.php
deleted file mode 100644
index 54f00cd5e1f89..0000000000000
--- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProductInjectable.php
+++ /dev/null
@@ -1,93 +0,0 @@
-_data['default'] = [
- 'name' => 'Test grouped product %isolation%',
- 'sku' => 'sku_test_grouped_product_%isolation%',
- 'category_ids' => ['presets' => 'default'],
- 'associated' => ['preset' => 'defaultSimpleProduct'],
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'test-grouped-product-%isolation%',
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- ];
-
- $this->_data['grouped_product_out_of_stock'] = [
- 'name' => 'Test grouped product %isolation%',
- 'sku' => 'sku_test_grouped_product_%isolation%',
- 'category_ids' => ['presets' => 'default'],
- 'associated' => ['preset' => 'defaultSimpleProduct'],
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'test-grouped-product-%isolation%',
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'Out of Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- ];
-
- $this->_data['grouped_product_with_price'] = [
- 'name' => 'Test grouped product %isolation%',
- 'sku' => 'sku_test_grouped_product_%isolation%',
- 'price' => ['value' => '-', 'preset' => 'starting-560'],
- 'category_ids' => ['presets' => 'default'],
- 'associated' => ['preset' => 'defaultSimpleProduct'],
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'test-grouped-product-%isolation%',
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- ];
-
- $this->_data['three_simple_products'] = [
- 'name' => 'Grouped product %isolation%',
- 'sku' => 'grouped_product_%isolation%',
- 'category_ids' => ['presets' => 'default'],
- 'associated' => ['preset' => 'three_simple_products'],
- 'status' => 'Product online',
- 'visibility' => 'Catalog, Search',
- 'tax_class_id' => ['dataSet' => 'Taxable Goods'],
- 'url_key' => 'test-grouped-product-%isolation%',
- 'quantity_and_stock_status' => [
- 'is_in_stock' => 'In Stock',
- ],
- 'website_ids' => ['Main Website'],
- 'attribute_set_id' => ['dataSet' => 'default'],
- 'checkout_data' => ['preset' => 'three_simple_products'],
- ];
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProductInjectable.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProductInjectable.xml
new file mode 100644
index 0000000000000..11efc48b035f3
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProductInjectable.xml
@@ -0,0 +1,121 @@
+
+
+
+
+
+ Test grouped product %isolation%
+ sku_test_grouped_product_%isolation%
+
+ - default
+
+
+ - defaultSimpleProduct
+
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ test-grouped-product-%isolation%
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+
+
+ Test grouped product %isolation%
+ sku_test_grouped_product_%isolation%
+
+ - default
+
+
+ - defaultSimpleProduct
+
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ test-grouped-product-%isolation%
+
+ - Out of Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+
+
+ Test grouped product %isolation%
+ sku_test_grouped_product_%isolation%
+
+ - -
+ - starting-560
+
+
+ - default
+
+
+ - defaultSimpleProduct
+
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ test-grouped-product-%isolation%
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+
+
+ Grouped product %isolation%
+ grouped_product_%isolation%
+
+ - default
+
+
+ - three_simple_products
+
+ Product online
+ Catalog, Search
+
+ - taxable_goods
+
+ test-grouped-product-%isolation%
+
+ - In Stock
+
+
+ - Main Website
+
+
+ - default
+
+
+ - three_simple_products
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest/test.csv
index 6c8d715e10f0f..126e091ed4e80 100644
--- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest/test.csv
@@ -1,9 +1,9 @@
-"product/data/name";"product/data/sku";"product/data/quantity_and_stock_status/is_in_stock";"product/data/category";"product/data/description";"product/data/associated/products";"product/data/associated/preset";"product/data/short_description";"isRequired";"constraint"
-"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";"assertProductSaveMessage, assertGroupedProductsDefaultQty"
-"GroupedProduct %isolation%";"-";"In Stock";"-";"-";"catalogProductSimple::simple_for_composite_products,catalogProductSimple::simple_for_composite_products";"defaultSimpleProduct";"-";"No";"assertProductInStock, assertProductSkuAutoGenerated, assertProductSearchableBySku"
-"GroupedProduct %isolation%";"GroupedProduct_sku%isolation%";"Out of Stock";"category_%isolation%";"-";"catalogProductSimple::simple_for_composite_products,catalogProductSimple::simple_for_composite_products";"defaultSimpleProduct";"-";"No";"assertProductOutOfStock"
-"GroupedProduct %isolation%";"GroupedProduct_sku%isolation%";"In Stock";"category_%isolation%";"-";"catalogProductSimple::simple_for_composite_products,catalogProductSimple::simple_for_composite_products";"defaultSimpleProduct";"-";"No";"assertGroupedProductsDefaultQty, assertGroupedProductForm, assertProductPage"
-"GroupedProduct %isolation%";"GroupedProduct_sku%isolation%";"In Stock";"category_%isolation%";"-";"catalogProductSimple::withSpecialPrice,catalogProductSimple::withSpecialPrice";"defaultSimpleProduct";"-";"No";"assertSpecialPriceOnGroupedProductPage, assertGroupedProductForm, assertProductPage"
-"GroupedProduct %isolation%";"GroupedProduct_sku%isolation%";"In Stock";"category_%isolation%";"-";"catalogProductSimple::simple_with_group_price,catalogProductSimple::simple_with_group_price";"defaultSimpleProduct";"-";"No";"assertGroupedPriceOnGroupedProductPage, assertGroupedProductForm, assertProductPage"
-"GroupedProduct %isolation%";"GroupedProduct_sku%isolation%";"In Stock";"category_%isolation%";"-";"catalogProductVirtual::virtual_product,catalogProductVirtual::virtual_product";"defaultVirtualProduct";"-";"Yes";"assertProductSaveMessage, assertGroupedProductsDefaultQty"
-"GroupedProduct %isolation%";"GroupedProduct_sku%isolation%";"In Stock";"category_%isolation%";"-";"catalogProductSimple::simple_with_tier_price,catalogProductSimple::simple_with_tier_price";"defaultSimpleProduct";"-";"No";"assertTierPriceOnGroupedProductPage, assertGroupedProductForm, assertProductPage"
+"product/data/url_key";"product/data/name";"product/data/sku";"product/data/quantity_and_stock_status/is_in_stock";"product/data/category";"product/data/description";"product/data/associated/products";"product/data/associated/preset";"product/data/short_description";"isRequired";"constraint"
+"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";"assertProductSaveMessage, assertGroupedProductsDefaultQty"
+"test-grouped-product-%isolation%";"GroupedProduct %isolation%";"-";"In Stock";"-";"-";"catalogProductSimple::simple_for_composite_products,catalogProductSimple::simple_for_composite_products";"defaultSimpleProduct";"-";"No";"assertProductInStock, assertProductSkuAutoGenerated, assertProductSearchableBySku"
+"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";"assertProductOutOfStock"
+"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";"assertGroupedProductsDefaultQty, assertGroupedProductForm, assertProductPage"
+"test-grouped-product-%isolation%";"GroupedProduct %isolation%";"GroupedProduct_sku%isolation%";"In Stock";"category_%isolation%";"-";"catalogProductSimple::withSpecialPrice,catalogProductSimple::withSpecialPrice";"defaultSimpleProduct";"-";"No";"assertSpecialPriceOnGroupedProductPage, assertGroupedProductForm, assertProductPage"
+"test-grouped-product-%isolation%";"GroupedProduct %isolation%";"GroupedProduct_sku%isolation%";"In Stock";"category_%isolation%";"-";"catalogProductSimple::simple_with_group_price,catalogProductSimple::simple_with_group_price";"defaultSimpleProduct";"-";"No";"assertGroupedPriceOnGroupedProductPage, assertGroupedProductForm, assertProductPage"
+"test-grouped-product-%isolation%";"GroupedProduct %isolation%";"GroupedProduct_sku%isolation%";"In Stock";"category_%isolation%";"-";"catalogProductVirtual::virtual_product,catalogProductVirtual::virtual_product";"defaultVirtualProduct";"-";"Yes";"assertProductSaveMessage, assertGroupedProductsDefaultQty"
+"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";"assertTierPriceOnGroupedProductPage, assertGroupedProductForm, assertProductPage"
diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest/test.csv
index 892b7ef86617a..1b28e2cfc5e19 100644
--- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest/test.csv
@@ -1,6 +1,6 @@
-"originalProduct/dataSet";"product/data/name";"product/data/sku";"product/data/quantity_and_stock_status/is_in_stock";"product/data/category_ids/presets";"product/data/associated/products";"product/data/associated/preset";"product/data/description";"product/data/short_description";"constraint"
-"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";"assertProductSaveMessage, assertProductInStock, assertProductPage"
-"default";"GroupedProduct_edited %isolation%";"GroupedProduct_sku_edited %isolation%";"-";"-";"catalogProductVirtual::default,catalogProductVirtual::50_dollar_product";"defaultVirtualProduct";"-";"-";"assertProductSaveMessage, assertGroupedProductForm"
-"default";"GroupedProduct_edited %isolation%";"GroupedProduct_sku_edited %isolation%";"-";"-";"catalogProductSimple::simple_for_composite_products,catalogProductSimple::default";"defaultSimpleProduct_without_qty";"-";"-";"assertProductSaveMessage, assertGroupedProductsDefaultQty, assertGroupedProductForm"
-"default";"GroupedProduct_edited %isolation%";"GroupedProduct_sku_edited %isolation%";"-";"-";"catalogProductSimple::withSpecialPrice,catalogProductSimple::withSpecialPrice";"defaultSimpleProduct_with_specialPrice";"-";"-";"assertProductSaveMessage, assertSpecialPriceOnGroupedProductPage"
+"originalProduct/dataSet";"product/data/name";"product/data/sku";"product/data/quantity_and_stock_status/is_in_stock";"product/data/category_ids/presets";"product/data/associated/products";"product/data/associated/preset";"product/data/description";"product/data/short_description";"product/data/url_key";"constraint"
+"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%";"assertProductSaveMessage, assertProductInStock, assertProductPage"
+"default";"GroupedProduct_edited %isolation%";"GroupedProduct_sku_edited %isolation%";"-";"-";"catalogProductVirtual::default,catalogProductVirtual::product_50_dollar";"defaultVirtualProduct";"-";"-";"updated-grouped-product-%isolation%";"assertProductSaveMessage, assertGroupedProductForm"
+"default";"GroupedProduct_edited %isolation%";"GroupedProduct_sku_edited %isolation%";"-";"-";"catalogProductSimple::simple_for_composite_products,catalogProductSimple::default";"defaultSimpleProduct_without_qty";"-";"-";"updated-grouped-product-%isolation%";"assertProductSaveMessage, assertGroupedProductsDefaultQty, assertGroupedProductForm"
+"default";"GroupedProduct_edited %isolation%";"GroupedProduct_sku_edited %isolation%";"-";"-";"catalogProductSimple::withSpecialPrice,catalogProductSimple::withSpecialPrice";"defaultSimpleProduct_with_specialPrice";"-";"-";"updated-grouped-product-%isolation%";"assertProductSaveMessage, assertSpecialPriceOnGroupedProductPage"
"default";"GroupedProduct_edited %isolation%";"GroupedProduct_sku_edited %isolation%";"Out of Stock";"-";"-";"-";"-";"-";"assertProductSaveMessage, assertProductOutOfStock"
diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/fixture.xml
index cf842e4e045d8..5c5bf092d8ec0 100644
--- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/fixture.xml
+++ b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/fixture.xml
@@ -18,14 +18,14 @@
virtual
-
+
-
+
grouped
diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.php
deleted file mode 100644
index e45bd649867d2..0000000000000
--- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.php
+++ /dev/null
@@ -1,73 +0,0 @@
- 'Products',
- 'behavior' => 'CSV',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $entity = [
- 'attribute_code' => 'entity',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $behavior = [
- 'attribute_code' => 'behavior',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => 'append',
- 'input' => '',
- ];
-
- protected $data_export = [
- 'attribute_code' => 'data',
- 'backend_type' => 'longtext',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getEntity()
- {
- return $this->getData('entity');
- }
-
- public function getBehavior()
- {
- return $this->getData('behavior');
- }
-
- public function getDataExport()
- {
- return $this->getData('data_export');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.xml
index d182c3ff5c323..01af4b90b3b04 100644
--- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.xml
+++ b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.xml
@@ -5,38 +5,44 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_ImportExport
flat
importexport_importdata
+
+ Products
+ CSV
+
-
+
id
int
1
-
-
-
-
+
+
+
+
entity
varchar
-
-
-
-
-
- behavior
+
+ Products
+
+
+
+ behavior
varchar
-
- append
-
-
-
+
+ CSV
+
+
+
data
longtext
-
-
-
-
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.php b/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.php
deleted file mode 100644
index 6a436e82d54a1..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.php
+++ /dev/null
@@ -1,220 +0,0 @@
- 'dbHost',
- 'backend_type' => 'virtual',
- ];
-
- protected $dbUser = [
- 'attribute_code' => 'dbUser',
- 'backend_type' => 'virtual',
- ];
-
- protected $dbPassword = [
- 'attribute_code' => 'dbPassword',
- 'backend_type' => 'virtual',
- ];
-
- protected $dbName = [
- 'attribute_code' => 'dbName',
- 'backend_type' => 'virtual',
- ];
-
- protected $web = [
- 'attribute_code' => 'web',
- 'backend_type' => 'virtual',
- ];
-
- protected $admin = [
- 'attribute_code' => 'admin',
- 'backend_type' => 'virtual',
- ];
-
- protected $adminUsername = [
- 'attribute_code' => 'adminUsername',
- 'backend_type' => 'virtual',
- ];
-
- protected $adminEmail = [
- 'attribute_code' => 'adminEmail',
- 'backend_type' => 'virtual',
- ];
-
- protected $adminPassword = [
- 'attribute_code' => 'adminPassword',
- 'backend_type' => 'virtual',
- ];
-
- protected $adminConfirm = [
- 'attribute_code' => 'adminConfirm',
- 'backend_type' => 'virtual',
- ];
-
- protected $apacheRewrites = [
- 'attribute_code' => 'apacheRewrites',
- 'backend_type' => 'virtual',
- ];
-
- protected $dbTablePrefix = [
- 'attribute_code' => 'dbTablePrefix',
- 'backend_type' => 'virtual',
- ];
-
- protected $keyOwn = [
- 'attribute_code' => 'keyOwn',
- 'backend_type' => 'virtual',
- ];
-
- protected $httpsAdmin = [
- 'attribute_code' => 'httpsAdmin',
- 'backend_type' => 'virtual',
- ];
-
- protected $https = [
- 'attribute_code' => 'https',
- 'backend_type' => 'virtual',
- ];
-
- protected $httpsFront = [
- 'attribute_code' => 'httpsFront',
- 'backend_type' => 'virtual',
- ];
-
- protected $keyValue = [
- 'attribute_code' => 'keyValue',
- 'backend_type' => 'virtual',
- ];
-
- protected $language = [
- 'attribute_code' => 'language',
- 'backend_type' => 'virtual',
- ];
-
- protected $currency = [
- 'attribute_code' => 'language',
- 'backend_type' => 'virtual',
- ];
-
- public function getDbHost()
- {
- return $this->getData('dbHost');
- }
-
- public function getDbUser()
- {
- return $this->getData('dbUser');
- }
-
- public function getDbPassword()
- {
- return $this->getData('dbPassword');
- }
-
- public function getDbName()
- {
- return $this->getData('dbName');
- }
-
- public function getWeb()
- {
- return $this->getData('web');
- }
-
- public function getAdmin()
- {
- return $this->getData('admin');
- }
-
- public function getAdminUsername()
- {
- return $this->getData('adminUsername');
- }
-
- public function getAdminEmail()
- {
- return $this->getData('adminEmail');
- }
-
- public function getAdminPassword()
- {
- return $this->getData('adminPassword');
- }
-
- public function getAdminConfirm()
- {
- return $this->getData('adminConfirm');
- }
-
- public function getCurrency()
- {
- return $this->getData('currency');
- }
-
- public function getApacheRewrites()
- {
- return $this->getData('apacheRewrites');
- }
-
- public function getKeyOwn()
- {
- return $this->getData('keyOwn');
- }
-
- public function getKeyValue()
- {
- return $this->getData('keyValue');
- }
-
- public function getLanguage()
- {
- return $this->getData('language');
- }
-
- public function getHttpsAdmin()
- {
- return $this->getData('httpsAdmin');
- }
-
- public function getHttps()
- {
- return $this->getData('https');
- }
-
- public function getHttpsFront()
- {
- return $this->getData('httpsFront');
- }
-
- public function getDbTablePrefix()
- {
- return $this->getData('dbTablePrefix');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.xml b/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.xml
index 249bd94df0f82..b603c251063a3 100644
--- a/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.xml
+++ b/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.xml
@@ -5,76 +5,90 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Install
virtual
install
+ Magento\Install\Test\Repository\Install
+ Magento\Install\Test\Handler\Install\InstallInterface
-
+
dbHost
virtual
-
-
+
+
dbUser
virtual
-
-
- dbTablePrefix
- virtual
-
-
- dbPassword
- virtual
-
-
- dbname
+
+
+ dbPassword
virtual
-
-
- web
+
+
+ dbName
virtual
-
-
- dbTablePrefix
+
+
+ web
virtual
-
-
+
+
admin
virtual
-
-
- httpsFront
+
+
+ adminUsername
virtual
-
-
- https
+
+
+ adminEmail
virtual
-
-
- httpsAdmin
+
+
+ adminPassword
virtual
-
-
+
+
+ adminConfirm
+ virtual
+
+
apacheRewrites
virtual
-
-
+
+
+ dbTablePrefix
+ virtual
+
+
keyOwn
virtual
-
-
+
+
+ httpsAdmin
+ virtual
+
+
+ https
+ virtual
+
+
+ httpsFront
+ virtual
+
+
keyValue
virtual
-
-
+
+
language
virtual
-
-
- currency
+
+
+ language
virtual
-
+
- Magento\Install\Test\Repository\Install
- Magento\Install\Test\Handler\Install\InstallInterface
diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.php
deleted file mode 100644
index 71a9b860f2fff..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.php
+++ /dev/null
@@ -1,381 +0,0 @@
- 'default_integration_%isolation%',
- 'email' => 'test_%isolation%@example.com',
- 'resource_access' => 'All',
- ];
-
- protected $integration_id = [
- 'attribute_code' => 'integration_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'integration_info',
- ];
-
- protected $email = [
- 'attribute_code' => 'email',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'integration_info',
- ];
-
- protected $endpoint = [
- 'attribute_code' => 'endpoint',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'integration_info',
- ];
-
- protected $status = [
- 'attribute_code' => 'status',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $consumer_id = [
- 'attribute_code' => 'consumer_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => 'CURRENT_TIMESTAMP',
- 'input' => '',
- ];
-
- protected $updated_at = [
- 'attribute_code' => 'updated_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $setup_type = [
- 'attribute_code' => 'setup_type',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $identity_link_url = [
- 'attribute_code' => 'identity_link_url',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'integration_info',
- ];
-
- protected $entity_id = [
- 'attribute_code' => 'entity_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $admin_id = [
- 'attribute_code' => 'admin_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_id = [
- 'attribute_code' => 'customer_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $type = [
- 'attribute_code' => 'type',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $token = [
- 'attribute_code' => 'token',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $secret = [
- 'attribute_code' => 'secret',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $verifier = [
- 'attribute_code' => 'verifier',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $callback_url = [
- 'attribute_code' => 'callback_url',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $revoked = [
- 'attribute_code' => 'revoked',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $authorized = [
- 'attribute_code' => 'authorized',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $user_type = [
- 'attribute_code' => 'user_type',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $key = [
- 'attribute_code' => 'key',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $rejected_callback_url = [
- 'attribute_code' => 'rejected_callback_url',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $resource_access = [
- 'attribute_code' => 'resource_access',
- 'backend_type' => 'virtual',
- 'group' => 'api',
- ];
-
- protected $resources = [
- 'attribute_code' => 'resources',
- 'backend_type' => 'virtual',
- 'group' => 'api',
- ];
-
- protected $token_secret = [
- 'attribute_code' => 'token_secret',
- 'backend_type' => 'virtual',
- 'group' => 'integration_info',
- ];
-
- protected $consumer_secret = [
- 'attribute_code' => 'consumer_secret',
- 'backend_type' => 'virtual',
- 'group' => 'integration_info',
- ];
-
- public function getIntegrationId()
- {
- return $this->getData('integration_id');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getEmail()
- {
- return $this->getData('email');
- }
-
- public function getEndpoint()
- {
- return $this->getData('endpoint');
- }
-
- public function getStatus()
- {
- return $this->getData('status');
- }
-
- public function getConsumerId()
- {
- return $this->getData('consumer_id');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getUpdatedAt()
- {
- return $this->getData('updated_at');
- }
-
- public function getSetupType()
- {
- return $this->getData('setup_type');
- }
-
- public function getIdentityLinkUrl()
- {
- return $this->getData('identity_link_url');
- }
-
- public function getEntityId()
- {
- return $this->getData('entity_id');
- }
-
- public function getAdminId()
- {
- return $this->getData('admin_id');
- }
-
- public function getCustomerId()
- {
- return $this->getData('customer_id');
- }
-
- public function getType()
- {
- return $this->getData('type');
- }
-
- public function getToken()
- {
- return $this->getData('token');
- }
-
- public function getSecret()
- {
- return $this->getData('secret');
- }
-
- public function getVerifier()
- {
- return $this->getData('verifier');
- }
-
- public function getCallbackUrl()
- {
- return $this->getData('callback_url');
- }
-
- public function getRevoked()
- {
- return $this->getData('revoked');
- }
-
- public function getAuthorized()
- {
- return $this->getData('authorized');
- }
-
- public function getUserType()
- {
- return $this->getData('user_type');
- }
-
- public function getKey()
- {
- return $this->getData('key');
- }
-
- public function getRejectedCallbackUrl()
- {
- return $this->getData('rejected_callback_url');
- }
-
- public function getResourceAccess()
- {
- return $this->getData('resource_access');
- }
-
- public function getResources()
- {
- return $this->getData('resources');
- }
-
- public function getTokenSecret()
- {
- return $this->getData('token_secret');
- }
-
- public function getConsumerSecret()
- {
- return $this->getData('consumer_secret');
- }
-}
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
index 5c3bb4b95ffcc..7e11f3ef96781 100644
--- a/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.xml
+++ b/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.xml
@@ -5,203 +5,211 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Integration
composite
- integration
- oauth_token
- oauth_consumer
+
+
+
integration
Magento\Integration\Model\Resource\Integration\Collection
+ Magento\Integration\Test\Repository\Integration
+ Magento\Integration\Test\Handler\Integration\IntegrationInterface
+
+ default_integration_%isolation%
+ test_%isolation%@example.com
+ All
+
-
+
integration_id
int
1
-
+
-
-
+
+
name
varchar
-
+ default_integration_%isolation%
integration_info
-
-
- email
+
+
+ email
varchar
-
+ test_%isolation%@example.com
integration_info
-
-
+
+
endpoint
varchar
-
+
integration_info
-
-
+
+
status
smallint
-
+
-
-
+
+
consumer_id
int
-
+
-
-
+
+
created_at
timestamp
- CURRENT_TIMESTAMP
+ CURRENT_TIMESTAMP
-
-
+
+
updated_at
timestamp
- 0000-00-00 00:00:00
+
-
-
+
+
setup_type
smallint
- 0
+ 0
-
-
+
+
identity_link_url
varchar
-
+
integration_info
-
-
+
+
entity_id
int
1
-
+
-
-
+
+
admin_id
int
-
+
-
-
+
+
customer_id
int
-
+
-
-
+
+
type
varchar
-
+
-
-
+
+
token
varchar
-
+
-
-
+
+
secret
varchar
-
+
-
-
+
+
verifier
varchar
-
+
-
-
+
+
callback_url
varchar
-
+
-
-
+
+
revoked
smallint
- 0
+ 0
-
-
+
+
authorized
smallint
- 0
+ 0
-
-
+
+
user_type
int
-
+
-
-
+
+
key
varchar
-
+
-
-
+
+
rejected_callback_url
varchar
-
+
-
-
+
+
resource_access
virtual
api
-
-
+ All
+
+
resources
virtual
api
-
-
+
+
token_secret
virtual
- api
-
-
+ integration_info
+
+
consumer_secret
virtual
- api
-
+ integration_info
+
- Magento\Integration\Test\Repository\Integration
- Magento\Integration\Test\Handler\Integration\IntegrationInterface
diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Repository/Integration.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Repository/Integration.php
deleted file mode 100644
index 78c01f185fc2f..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Integration/Test/Repository/Integration.php
+++ /dev/null
@@ -1,44 +0,0 @@
-_data['default_with_all_resources'] = [
- 'name' => 'default_integration_%isolation%',
- 'email' => 'test_%isolation%@example.com',
- 'resource_access' => 'All',
- 'resources' => [
- 'Dashboard',
- 'Sales',
- 'Products',
- 'Customers',
- 'My Account',
- 'Marketing',
- 'Content',
- 'Reports',
- 'Stores',
- 'System',
- 'Global Search',
- ],
- ];
- }
-}
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
new file mode 100644
index 0000000000000..daef104702cee
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Integration/Test/Repository/Integration.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ default_integration_%isolation%
+ test_%isolation%@example.com
+ All
+
+ - Dashboard
+ - Sales
+ - Products
+ - Customers
+ - My Account
+ - Marketing
+ - Content
+ - Reports
+ - Stores
+ - System
+ - Global Search
+
+
+
+
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
index 8519bb70812d7..9c5d0e9b3d715 100644
--- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ReAuthorizeTokensIntegrationEntityTest.php
+++ b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ReAuthorizeTokensIntegrationEntityTest.php
@@ -72,7 +72,6 @@ public function __inject(IntegrationIndex $integrationIndex, FixtureFactory $fix
*/
public function test(Integration $integration)
{
- $this->markTestIncomplete('MAGETWO-26850');
// Precondition
$integration->persist();
$filter = ['name' => $integration->getName()];
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
new file mode 100644
index 0000000000000..0f19a6214f0a9
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Addresses.php
@@ -0,0 +1,68 @@
+_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 . '"]]/following-sibling::*//select',
+ 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
new file mode 100644
index 0000000000000..61a46218b952b
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Billing.php
@@ -0,0 +1,46 @@
+_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
new file mode 100644
index 0000000000000..2ac3f70e6b0f6
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Link.php
@@ -0,0 +1,25 @@
+_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
new file mode 100644
index 0000000000000..73a38881c9583
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Overview.php
@@ -0,0 +1,32 @@
+_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
new file mode 100644
index 0000000000000..f18e91c195596
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Shipping.php
@@ -0,0 +1,60 @@
+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
new file mode 100644
index 0000000000000..f69b2f41617b3
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Success.php
@@ -0,0 +1,66 @@
+_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/AssertOrderSuccessPlacedMessage.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Constraint/AssertOrderSuccessPlacedMessage.php
new file mode 100644
index 0000000000000..712b95a577553
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Constraint/AssertOrderSuccessPlacedMessage.php
@@ -0,0 +1,49 @@
+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
new file mode 100644
index 0000000000000..82f6b8bace1ac
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/CheckoutCart.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Magento\Multishipping\Test\Block\Checkout\Link
+ .action.multicheckout
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..37d0cda809996
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutAddressNewShipping.php
@@ -0,0 +1,51 @@
+_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
new file mode 100644
index 0000000000000..8ca2bd9f3e462
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutAddresses.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Magento\Multishipping\Test\Block\Checkout\Addresses
+ #checkout_multishipping_form
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..03ab6314da4bb
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutBilling.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Magento\Multishipping\Test\Block\Checkout\Billing
+ #multishipping-billing-form
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..acbd1375dbbbb
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutCart.php
@@ -0,0 +1,42 @@
+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
new file mode 100644
index 0000000000000..cb233ab410587
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutLogin.php
@@ -0,0 +1,49 @@
+_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
new file mode 100644
index 0000000000000..d4ad887f72f9b
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutOverview.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Magento\Multishipping\Test\Block\Checkout\Overview
+ #review-order-form
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..4b858c8514a5f
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutRegister.php
@@ -0,0 +1,51 @@
+_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
new file mode 100644
index 0000000000000..c950eac943f78
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutShipping.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Magento\Multishipping\Test\Block\Checkout\Shipping
+ #shipping_method_form
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..0c4b39849c385
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutSuccess.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Magento\Multishipping\Test\Block\Checkout\Success
+ .multicheckout.success
+ css selector
+
+
+ Magento\Theme\Test\Block\Html\Title
+ .title
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..b88b563b4c098
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/FillCustomerAddressesStep.php
@@ -0,0 +1,85 @@
+addresses = $addresses;
+ $this->customer = $customer;
+ $this->products = $products;
+ $this->objectManeger = $objectManager;
+ $this->objectManeger->configure(
+ ['\Magento\Customer\Test\Block\Address\Renderer' => ['shared' => false]]
+ );
+ }
+
+ /**
+ * Fill customer addresses and proceed to next step.
+ *
+ * @return void
+ */
+ public function run()
+ {
+ $bindings = [];
+ foreach ($this->products as $key => $product) {
+ $productName = $product->getName();
+ $addressRender = $this->objectManeger->create(
+ '\Magento\Customer\Test\Block\Address\Renderer',
+ ['address' => $this->customer->getAddress()[$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
new file mode 100644
index 0000000000000..311dbaaa8e422
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/FillShippingInformationStep.php
@@ -0,0 +1,66 @@
+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; $i < count($this->customer->getAddress()); $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
new file mode 100644
index 0000000000000..a4f72f980c332
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/PlaceOrderStep.php
@@ -0,0 +1,41 @@
+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
new file mode 100644
index 0000000000000..23b69f7123443
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/ProceedToMultipleAddressCheckoutStep.php
@@ -0,0 +1,40 @@
+checkoutCart = $checkoutCart;
+ }
+
+ /**
+ * Start checkout with multiple addresses.
+ *
+ * @return void
+ */
+ public function run()
+ {
+ $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
new file mode 100644
index 0000000000000..28345b7057069
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/SelectPaymentMethodStep.php
@@ -0,0 +1,49 @@
+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/constraint.xml b/dev/tests/functional/tests/app/Magento/Multishipping/Test/etc/constraint.xml
new file mode 100644
index 0000000000000..8b6fe6fadc257
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/etc/constraint.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ high
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.php
deleted file mode 100644
index da668a8e4a747..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.php
+++ /dev/null
@@ -1,190 +0,0 @@
- 'TemplateName%isolation%',
- 'subject' => 'TemplateSubject%isolation%',
- 'sender_name' => 'SenderName%isolation%',
- 'sender_email' => 'SenderName%isolation%@example.com',
- 'text' => 'Some text %isolation%',
- ];
-
- protected $id = [
- 'attribute_code' => 'template_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $code = [
- 'attribute_code' => 'template_code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $text = [
- 'attribute_code' => 'template_text',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $text_preprocessed = [
- 'attribute_code' => 'template_text_preprocessed',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $styles = [
- 'attribute_code' => 'template_styles',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $type = [
- 'attribute_code' => 'template_type',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $subject = [
- 'attribute_code' => 'template_subject',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $sender_name = [
- 'attribute_code' => 'template_sender_name',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $sender_email = [
- 'attribute_code' => 'template_sender_email',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $actual = [
- 'attribute_code' => 'template_actual',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- ];
-
- protected $added_at = [
- 'attribute_code' => 'added_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $modified_at = [
- 'attribute_code' => 'modified_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getCode()
- {
- return $this->getData('code');
- }
-
- public function getText()
- {
- return $this->getData('text');
- }
-
- public function getTextPreprocessed()
- {
- return $this->getData('text_preprocessed');
- }
-
- public function getStyles()
- {
- return $this->getData('styles');
- }
-
- public function getType()
- {
- return $this->getData('type');
- }
-
- public function getSubject()
- {
- return $this->getData('subject');
- }
-
- public function getSenderName()
- {
- return $this->getData('sender_name');
- }
-
- public function getSenderEmail()
- {
- return $this->getData('sender_email');
- }
-
- public function getActual()
- {
- return $this->getData('actual');
- }
-
- public function getAddedAt()
- {
- return $this->getData('added_at');
- }
-
- public function getModifiedAt()
- {
- return $this->getData('modified_at');
- }
-}
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
index 2423c584daf86..ff3cc6eadac8e 100644
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.xml
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.xml
@@ -5,98 +5,107 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Newsletter
flat
newsletter_template
Magento\Newsletter\Model\Resource\Template\Collection
template_id
+ Magento\Newsletter\Test\Repository\Template
+ Magento\Newsletter\Test\Handler\Template\TemplateInterface
+
+ TemplateName%isolation%
+ TemplateSubject%isolation%
+ SenderName%isolation%
+ SenderName%isolation%@example.com
+ Some text %isolation%
+
-
+
template_id
int
1
-
-
-
-
+
+
+
+
template_code
varchar
-
-
-
-
-
- template_text
+
+ TemplateName%isolation%
+
+
+
+ template_text
text
-
-
-
-
-
+
+ Some text %isolation%
+
+
+
template_text_preprocessed
text
-
-
-
-
-
- template_styles
+
+
+
+
+
+ template_styles
text
-
-
-
-
-
+
+
+
+
+
template_type
int
-
-
-
-
-
+
+
+
+
+
template_subject
varchar
-
-
-
-
-
+
+ TemplateSubject%isolation%
+
+
+
template_sender_name
varchar
-
-
-
-
-
+
+ SenderName%isolation%
+
+
+
template_sender_email
varchar
-
-
-
-
-
+
+ SenderName%isolation%@example.com
+
+
+
template_actual
smallint
-
- 1
-
-
-
+
+ 1
+
+
+
added_at
timestamp
-
-
-
-
-
+
+
+
+
+
modified_at
timestamp
-
-
-
-
+
+
+
+
- Magento\Newsletter\Test\Repository\Template
- Magento\Newsletter\Test\Handler\Newsletter\TemplateInterface
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Template.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Template.php
deleted file mode 100644
index 83669e31b8486..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Template.php
+++ /dev/null
@@ -1,33 +0,0 @@
-_data['default'] = [
- 'code' => 'Newsletter Template %isolation%',
- 'subject' => 'Newsletter Subject %isolation%',
- 'sender_name' => 'Sender Name %isolation%',
- 'sender_email' => 'support%isolation%@example.com',
- 'text' => '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
new file mode 100644
index 0000000000000..99f02715c2c1c
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Template.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ 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/OfflinePayments/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/OfflinePayments/Test/Repository/ConfigData.xml
new file mode 100644
index 0000000000000..352dc12fc9068
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/OfflinePayments/Test/Repository/ConfigData.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+ 1
+ 1
+ GB
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+ 1
+ 1
+ GB
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+ 1
+ 1
+ GB
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+ 1
+ 1
+ GB
+
+
+
+ 0
+ 0
+
+
+
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
new file mode 100644
index 0000000000000..bea1eac843f77
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/OfflineShipping/Test/Repository/ConfigData.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+ 1
+ 1
+ GB
+
+
+
+ 0
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ 1
+ Flat Rate
+ Fixed
+ I
+ 5
+ F
+ This shipping method is not available. To use this shipping method, please contact us.
+
+
+
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
index 90eebe23e89a0..f97d75e742329 100644
--- 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
@@ -40,7 +40,7 @@ protected function prepareData(array $viewsReport)
foreach ($viewsReport as $key => $reportFilter) {
if (in_array($key, $this->dateFields)) {
$date = ObjectManager::getInstance()->create(
- '\Magento\Backend\Test\Fixture\Date',
+ '\Magento\Backend\Test\Fixture\Source\Date',
['params' => [], 'data' => ['pattern' => $reportFilter]]
);
$viewsReport[$key] = $date->getData();
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
index 0780cf35898c8..26800e0dfbc56 100644
--- 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
@@ -87,7 +87,7 @@ protected function prepareData(array $customersReport)
continue;
}
$date = ObjectManager::getInstance()->create(
- '\Magento\Backend\Test\Fixture\Date',
+ '\Magento\Backend\Test\Fixture\Source\Date',
['params' => [], 'data' => ['pattern' => $reportFilter]]
);
$customersReport[$name] = $date->getData();
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
new file mode 100644
index 0000000000000..39b04be4a6f88
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Reports/Test/Repository/ConfigData.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ website
+ 5
+ 12
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest/test.csv
index 2c61b4ec2b3b9..616a10aad7566 100644
--- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest/test.csv
@@ -1,3 +1,3 @@
"description";"customer/dataSet";"products";"constraint"
-"add product to cart as registered user and check product in Report";"default";"catalogProductSimple::100_dollar_product";"assertAbandonedCartCustomerInfoResult"
-"add two products to cart as registered user and check product in Report";"default";"catalogProductSimple::100_dollar_product,catalogProductSimple::100_dollar_product";"assertAbandonedCartCustomerInfoResult"
+"add product to cart as registered user and check product in Report";"default";"catalogProductSimple::product_100_dollar";"assertAbandonedCartCustomerInfoResult"
+"add two products to cart as registered user and check product in Report";"default";"catalogProductSimple::product_100_dollar,catalogProductSimple::product_100_dollar";"assertAbandonedCartCustomerInfoResult"
diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.php b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.php
deleted file mode 100755
index 6991179a3702e..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.php
+++ /dev/null
@@ -1,121 +0,0 @@
- 'Rating %isolation%',
- 'stores' => 'Main Website/Main Website Store/Default Store View',
- 'is_active' => 'Yes',
- ];
-
- protected $rating_id = [
- 'attribute_code' => 'rating_id',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $entity_id = [
- 'attribute_code' => 'entity_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $rating_code = [
- 'attribute_code' => 'rating_code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'rating_information',
- ];
-
- protected $position = [
- 'attribute_code' => 'position',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'group' => 'rating_information',
- ];
-
- protected $is_active = [
- 'attribute_code' => 'is_active',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- 'group' => 'rating_information',
- ];
-
- protected $stores = [
- 'attribute_code' => 'stores',
- 'backend_type' => 'virtual',
- 'group' => 'rating_information',
- ];
-
- protected $options = [
- 'attribute_code' => 'options',
- 'backend_type' => 'virtual',
- 'group' => 'rating_information',
- ];
-
- public function getRatingId()
- {
- return $this->getData('rating_id');
- }
-
- public function getEntityId()
- {
- return $this->getData('entity_id');
- }
-
- public function getRatingCode()
- {
- return $this->getData('rating_code');
- }
-
- public function getPosition()
- {
- return $this->getData('position');
- }
-
- public function getIsActive()
- {
- return $this->getData('is_active');
- }
-
- public function getStores()
- {
- return $this->getData('stores');
- }
-
- public function getOptions()
- {
- return $this->getData('options');
- }
-}
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
index 96af6787475c1..fc016eef2ae8e 100755
--- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.xml
+++ b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.xml
@@ -5,62 +5,70 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Review
flat
rating
Magento\Review\Model\Resource\Rating\Collection
rating_code
+ Magento\Review\Test\Repository\Rating
+ Magento\Review\Test\Handler\Rating\RatingInterface
+
+ Rating %isolation%
+ Main Website/Main Website Store/Default Store View
+ Yes
+
-
+
rating_id
smallint
1
-
-
-
-
+
+
+
+
entity_id
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
rating_code
varchar
-
-
-
+
+ Rating %isolation%
+
rating_information
-
-
+
+
position
smallint
-
- 0
-
+
+ 0
+
rating_information
-
-
+
+
is_active
smallint
-
- 1
-
+
+ Yes
+
rating_information
-
-
+
+
stores
virtual
rating_information
-
-
+ Main Website/Main Website Store/Default Store View
+
+
options
virtual
rating_information
-
+
- Magento\Review\Test\Repository\Rating
- Magento\Review\Test\Handler\Rating\RatingInterface
diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.php b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.php
deleted file mode 100755
index 9c7c3175936d7..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.php
+++ /dev/null
@@ -1,250 +0,0 @@
- 'Approved',
- 'select_stores' => ['Main Website/Main Website Store/Default Store View'],
- 'nickname' => 'Guest customer %isolation%',
- 'title' => 'Summary review %isolation%',
- 'detail' => 'Text review %isolation%',
- 'ratings' => [
- [
- 'dataSet' => 'visibleOnDefaultWebsite',
- 'rating' => 4
- ]
- ],
- 'entity_id' => ['dataSet' => 'catalogProductSimple::default'],
- 'type' => 'Administrator'
- ];
-
- protected $review_id = [
- 'attribute_code' => 'review_id',
- 'backend_type' => 'bigint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $created_at = [
- 'attribute_code' => 'created_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => 'CURRENT_TIMESTAMP',
- 'input' => '',
- ];
-
- protected $entity_id = [
- 'attribute_code' => 'entity_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- 'source' => 'Magento\Review\Test\Fixture\Review\EntityId'
- ];
-
- protected $entity_pk_value = [
- 'attribute_code' => 'entity_pk_value',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $status_id = [
- 'attribute_code' => 'status_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $detail_id = [
- 'attribute_code' => 'detail_id',
- 'backend_type' => 'bigint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $store_id = [
- 'attribute_code' => 'store_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $title = [
- 'attribute_code' => 'title',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $detail = [
- 'attribute_code' => 'detail',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $nickname = [
- 'attribute_code' => 'nickname',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer_id = [
- 'attribute_code' => 'customer_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $select_stores = [
- 'attribute_code' => 'select_stores',
- 'backend_type' => 'virtual',
- 'is_required' => '1',
- 'default_value' => '0',
- 'input' => 'multiselectgrouplist',
- ];
-
- protected $ratings = [
- 'attribute_code' => 'ratings',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Review\Test\Fixture\Review\Ratings',
- ];
-
- protected $type = [
- 'attribute_code' => 'type',
- 'backend_type' => 'string',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $customer = [
- 'attribute_code' => 'customer',
- 'backend_type' => 'virtual',
- ];
-
- public function getType()
- {
- return $this->getData('type');
- }
-
- public function getSelectStores()
- {
- return $this->getData('select_stores');
- }
-
- public function getReviewId()
- {
- return $this->getData('review_id');
- }
-
- public function getCreatedAt()
- {
- return $this->getData('created_at');
- }
-
- public function getEntityId()
- {
- return $this->getData('entity_id');
- }
-
- public function getEntityPkValue()
- {
- return $this->getData('entity_pk_value');
- }
-
- public function getStatusId()
- {
- return $this->getData('status_id');
- }
-
- public function getDetailId()
- {
- return $this->getData('detail_id');
- }
-
- public function getStoreId()
- {
- return $this->getData('store_id');
- }
-
- public function getTitle()
- {
- return $this->getData('title');
- }
-
- public function getDetail()
- {
- return $this->getData('detail');
- }
-
- public function getNickname()
- {
- return $this->getData('nickname');
- }
-
- public function getCustomerId()
- {
- return $this->getData('customer_id');
- }
-
- public function getRatings()
- {
- return $this->getData('ratings');
- $this->_data = [
- 'fields' => [
- 'nickname' => [
- 'value' => 'Guest customer %isolation%',
- ],
- 'title' => [
- 'value' => 'Summary review %isolation%',
- ],
- 'detail' => [
- 'value' => 'Text review %isolation%',
- ],
- ],
- ];
-
- $this->_repository = Factory::getRepositoryFactory()
- ->getMagentoReviewReview($this->_dataConfig, $this->_data);
- }
-}
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
old mode 100644
new mode 100755
index 2973cc8e5a7f8..67798c3a7ff2c
--- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.xml
+++ b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.xml
@@ -5,117 +5,142 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Review
composite
- review
- review_detail
+
+
Magento\Review\Model\Resource\Review\Collection
+ Magento\Review\Test\Repository\Review
+ Magento\Review\Test\Handler\Review\ReviewInterface
+
+ Approved
+
+ - Main Website/Main Website Store/Default Store View
+
+ Guest customer %isolation%
+ Summary review %isolation%
+ Text review %isolation%
+
+ - visibleOnDefaultWebsite
+ - 4
+
+
+ - catalogProductSimple::default
+
+ Administrator
+
-
+
review_id
bigint
-
- 0
-
-
-
+
+ 0
+
+
+
created_at
timestamp
-
- CURRENT_TIMESTAMP
-
-
-
+
+ CURRENT_TIMESTAMP
+
+
+
entity_id
smallint
-
- 0
-
+
+
+ - catalogProductSimple::default
+
+
-
-
+
+
entity_pk_value
int
-
- 0
-
-
-
+
+ 0
+
+
+
status_id
smallint
-
- 0
-
-
-
+
+ Approved
+
+
+
detail_id
bigint
1
-
-
-
-
+
+
+
+
store_id
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
title
varchar
-
-
-
-
-
+
+ Summary review %isolation%
+
+
+
detail
text
-
-
-
-
-
+
+ Text review %isolation%
+
+
+
nickname
varchar
-
-
-
-
-
+
+ Guest customer %isolation%
+
+
+
customer_id
int
-
-
-
-
-
- type
- string
-
-
-
-
-
+
+
+
+
+
select_stores
virtual
1
- 0
+
+ - Main Website/Main Website Store/Default Store View
+
multiselectgrouplist
-
-
+
+
ratings
virtual
-
-
- customer
- virtual
-
+
+ -
+
- visibleOnDefaultWebsite
+ - 4
+
+
+
+
+ type
+ string
+
+ Administrator
+
+
- Magento\Review\Test\Repository\Review
- Magento\Review\Test\Handler\Review\ReviewInterface
diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Rating.php b/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Rating.php
deleted file mode 100755
index 218bf96d0fb5a..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Rating.php
+++ /dev/null
@@ -1,38 +0,0 @@
-_data['default'] = [
- 'rating_code' => 'Rating %isolation%',
- 'stores' => ['Main Website/Main Website Store/Default Store View'],
- 'is_active' => 'Yes',
- ];
-
- $this->_data['visibleOnDefaultWebsite'] = [
- 'rating_code' => 'productRating_%isolation%',
- 'stores' => ['Main Website/Main Website Store/Default Store View'],
- 'is_active' => 'Yes',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..07ce07abaac7d
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Rating.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ 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
new file mode 100644
index 0000000000000..f00233db0fd8b
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Review.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+ 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
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/etc/constraint.xml b/dev/tests/functional/tests/app/Magento/Review/Test/etc/constraint.xml
index d42feb0cbe872..5e4a8030eff21 100644
--- a/dev/tests/functional/tests/app/Magento/Review/Test/etc/constraint.xml
+++ b/dev/tests/functional/tests/app/Magento/Review/Test/etc/constraint.xml
@@ -42,13 +42,13 @@
high
-
+
high
-
+
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
index 8d60a37bb98c1..e82d710374cda 100755
--- 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
@@ -6,6 +6,6 @@
*/
-->
-
-
+
+
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
index ba5f99b4e704c..115d5d0369dcf 100644
--- 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
@@ -1,6 +1,5 @@
-
- flat
- sales_order
- Magento\Sales\Model\Resource\Order\Collection
-
-
-
- id
- virtual
-
-
-
-
-
flat
sales_order
Magento\Sales\Model\Resource\Order\Collection
-
id
virtual
-
-
composite
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
new file mode 100644
index 0000000000000..6b9a58904e297
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Shipping/Test/Repository/ConfigData.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ US
+ 12
+ 90232
+ Culver City
+ 10441 Jefferson Blvd
+ Suite 200
+
+
+
+ US
+ 12
+ 90024
+ Los Angeles
+ 1419 Westwood Blvd
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/etc/fixture.xml
deleted file mode 100644
index 982ca6fa45f1a..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Shipping/Test/etc/fixture.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- virtual
- shipping
-
-
-
- shipping_service
- virtual
-
-
- shipping_method
- virtual
-
-
-
-
-
-
diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.php
deleted file mode 100644
index d2d40bd3713e8..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.php
+++ /dev/null
@@ -1,109 +0,0 @@
- 'sitemap.xml',
- 'sitemap_path' => '/',
- ];
-
- protected $sitemap_id = [
- 'attribute_code' => 'sitemap_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $sitemap_type = [
- 'attribute_code' => 'sitemap_type',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $sitemap_filename = [
- 'attribute_code' => 'sitemap_filename',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $sitemap_path = [
- 'attribute_code' => 'sitemap_path',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $sitemap_time = [
- 'attribute_code' => 'sitemap_time',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $store_id = [
- 'attribute_code' => 'store_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- public function getSitemapId()
- {
- return $this->getData('sitemap_id');
- }
-
- public function getSitemapType()
- {
- return $this->getData('sitemap_type');
- }
-
- public function getSitemapFilename()
- {
- return $this->getData('sitemap_filename');
- }
-
- public function getSitemapPath()
- {
- return $this->getData('sitemap_path');
- }
-
- public function getSitemapTime()
- {
- return $this->getData('sitemap_time');
- }
-
- public function getStoreId()
- {
- return $this->getData('store_id');
- }
-}
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
index f6213b0b29fbb..0e696d0d3f0e2 100644
--- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.xml
+++ b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.xml
@@ -5,55 +5,61 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Sitemap
flat
sitemap
Magento\Sitemap\Model\Resource\Sitemap\Collection
+ Magento\Sitemap\Test\Repository\Sitemap
+ Magento\Sitemap\Test\Handler\Sitemap\SitemapInterface
+
+ sitemap.xml
+ /
+
-
+
sitemap_id
int
1
-
-
-
-
+
+
+
+
sitemap_type
varchar
-
-
-
-
-
- sitemap_filename
+
+
+
+
+
+ sitemap_filename
varchar
-
-
-
-
-
+
+ sitemap.xml
+
+
+
sitemap_path
varchar
-
-
-
-
-
+
+ /
+
+
+
sitemap_time
timestamp
-
-
-
-
-
+
+
+
+
+
store_id
smallint
-
- 0
-
-
+
+ 0
+
+
- Magento\Sitemap\Test\Repository\Sitemap
- Magento\Sitemap\Test\Handler\Sitemap\SitemapInterface
diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/Sitemap.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/Sitemap.php
deleted file mode 100644
index a2f28611e98ef..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/Sitemap.php
+++ /dev/null
@@ -1,30 +0,0 @@
-_data['default'] = [
- 'sitemap_filename' => 'sitemap.xml',
- 'sitemap_path' => '/',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..e9d777e594dd7
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/Sitemap.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ sitemap.xml
+ /
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.php b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.php
deleted file mode 100644
index 5762f119fe32e..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.php
+++ /dev/null
@@ -1,126 +0,0 @@
- ['dataSet' => 'default'],
- 'name' => 'Default Store View',
- 'code' => 'default',
- 'is_active' => 'Enabled',
- 'store_id' => 1,
- ];
-
- protected $store_id = [
- 'attribute_code' => 'store_id',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $code = [
- 'attribute_code' => 'code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $website_id = [
- 'attribute_code' => 'website_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $group_id = [
- 'attribute_code' => 'group_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => 'select',
- 'source' => 'Magento\Store\Test\Fixture\Store\GroupId',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $sort_order = [
- 'attribute_code' => 'sort_order',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => 'text',
- ];
-
- protected $is_active = [
- 'attribute_code' => 'is_active',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => 'select',
- ];
-
- public function getStoreId()
- {
- return $this->getData('store_id');
- }
-
- public function getCode()
- {
- return $this->getData('code');
- }
-
- public function getWebsiteId()
- {
- return $this->getData('website_id');
- }
-
- public function getGroupId()
- {
- return $this->getData('group_id');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getSortOrder()
- {
- return $this->getData('sort_order');
- }
-
- public function getIsActive()
- {
- return $this->getData('is_active');
- }
-}
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
index 27c0731537930..37e439d7bfa62 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.xml
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.xml
@@ -5,65 +5,76 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Store
flat
store
Magento\Store\Model\Resource\Store\Collection
+ Magento\Store\Test\Repository\Store
+ Magento\Store\Test\Handler\Store\StoreInterface
+
+
+ - default
+
+ Default Store View
+ default
+ Enabled
+ 1
+
-
+
store_id
smallint
1
-
-
-
-
+ 1
+
+
+
code
varchar
-
-
+
+ default
text
-
-
+
+
website_id
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
group_id
smallint
-
- 0
+
+
+ - default
+
select
-
-
- name
+
+
+ name
varchar
-
-
+
+ Default Store View
text
-
-
+
+
sort_order
smallint
-
- 0
+
+ 0
text
-
-
+
+
is_active
smallint
-
- 0
+
+ Enabled
select
-
+
-
-
- Magento\Store\Test\Repository\Store
- Magento\Store\Test\Handler\Store\StoreInterface
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.php b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.php
deleted file mode 100644
index 04dd14411c319..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.php
+++ /dev/null
@@ -1,96 +0,0 @@
- [
- 'dataSet' => 'main_website',
- ],
- 'name' => 'StoreGroup%isolation%',
- 'root_category_id' => [
- 'dataSet' => 'default_category',
- ],
- ];
-
- protected $group_id = [
- 'attribute_code' => 'group_id',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $website_id = [
- 'attribute_code' => 'website_id',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Store\Test\Fixture\StoreGroup\WebsiteId',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $root_category_id = [
- 'attribute_code' => 'root_category_id',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Store\Test\Fixture\StoreGroup\CategoryId',
- ];
-
- protected $default_store_id = [
- 'attribute_code' => 'default_store_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- public function getGroupId()
- {
- return $this->getData('group_id');
- }
-
- public function getWebsiteId()
- {
- return $this->getData('website_id');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getRootCategoryId()
- {
- return $this->getData('root_category_id');
- }
-
- public function getDefaultStoreId()
- {
- return $this->getData('default_store_id');
- }
-}
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
index 245270cc47f72..8b0c5218c9a11 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.xml
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.xml
@@ -5,47 +5,62 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Store
flat
store_group
Magento\Store\Model\Resource\Group\Collection
-
+
+ Magento\Store\Test\Repository\StoreGroup
+ Magento\Store\Test\Handler\StoreGroup\StoreGroupInterface
+
+
+ - main_website
+
+ StoreGroup%isolation%
+
+ - default_category
+
+
-
+
group_id
smallint
1
-
-
-
-
+
+
+
+
website_id
virtual
-
-
+
+ - main_website
+
+
+
name
varchar
-
-
-
-
-
+
+ StoreGroup%isolation%
+
+
+
root_category_id
virtual
-
-
+
+ - default_category
+
+
+
default_store_id
smallint
-
- 0
-
-
+
+ 0
+
+
-
-
- Magento\Store\Test\Repository\StoreGroup
- Magento\Store\Test\Handler\StoreGroup\StoreGroupInterface
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.php b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.php
deleted file mode 100644
index c680e52135caf..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.php
+++ /dev/null
@@ -1,109 +0,0 @@
- 'Main Website',
- 'code' => 'base',
- 'website_id' => '1',
- ];
-
- protected $website_id = [
- 'attribute_code' => 'website_id',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $code = [
- 'attribute_code' => 'code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $name = [
- 'attribute_code' => 'name',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $sort_order = [
- 'attribute_code' => 'sort_order',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $default_group_id = [
- 'attribute_code' => 'default_group_id',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $is_default = [
- 'attribute_code' => 'is_default',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- public function getWebsiteId()
- {
- return $this->getData('website_id');
- }
-
- public function getCode()
- {
- return $this->getData('code');
- }
-
- public function getName()
- {
- return $this->getData('name');
- }
-
- public function getSortOrder()
- {
- return $this->getData('sort_order');
- }
-
- public function getDefaultGroupId()
- {
- return $this->getData('default_group_id');
- }
-
- public function getIsDefault()
- {
- return $this->getData('is_default');
- }
-}
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
index 1d37c753fb212..8e42c9575a25a 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.xml
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.xml
@@ -5,57 +5,63 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Store
flat
store_website
Magento\Store\Model\Resource\Website\Collection
code
+ Magento\Store\Test\Repository\Website
+ Magento\Store\Test\Handler\Website\WebsiteInterface
+
+ Main Website
+ base
+ 1
+
-
+
website_id
smallint
1
-
-
-
-
+ 1
+
+
+
code
varchar
-
-
-
-
-
- name
+
+ base
+
+
+
+ name
varchar
-
-
-
-
-
+
+ Main Website
+
+
+
sort_order
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
default_group_id
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
is_default
smallint
-
- 0
-
-
+
+ 0
+
+
-
-
- Magento\Store\Test\Repository\Website
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Store.php b/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Store.php
deleted file mode 100644
index 472aa3028cb23..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Store.php
+++ /dev/null
@@ -1,58 +0,0 @@
-_data['default'] = [
- 'group_id' => ['dataSet' => 'default'],
- 'name' => 'Default Store View',
- 'code' => 'base',
- 'is_active' => 'Enabled',
- 'store_id' => 1,
- ];
-
- $this->_data['custom'] = [
- 'group_id' => ['dataSet' => 'default'],
- 'name' => 'Custom_Store_%isolation%',
- 'code' => 'code_%isolation%',
- 'is_active' => 'Enabled',
- ];
-
- $this->_data['default_store_view'] = [
- 'store_id' => 1,
- 'name' => 'Default Store View',
- ];
-
- $this->_data['All Store Views'] = [
- 'name' => 'All Store Views',
- 'store_id' => 0,
- ];
-
- $this->_data['german'] = [
- 'group_id' => ['dataSet' => 'default'],
- 'name' => 'DE%isolation%',
- 'code' => 'de%isolation%',
- 'is_active' => 'Enabled',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..031e011f2cb47
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Store.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+ - default
+
+ Default Store View
+ base
+ Enabled
+ 1
+
+
+
+
+ - default
+
+ Custom_Store_%isolation%
+ code_%isolation%
+ Enabled
+
+
+
+ Default Store View
+ 1
+
+
+
+ All Store Views
+ 0
+
+
+
+
+ - default
+
+ DE%isolation%
+ de%isolation%
+ Enabled
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/StoreGroup.php b/dev/tests/functional/tests/app/Magento/Store/Test/Repository/StoreGroup.php
deleted file mode 100644
index fa01d8b222c61..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/StoreGroup.php
+++ /dev/null
@@ -1,47 +0,0 @@
-_data['default'] = [
- 'website_id' => [
- 'dataSet' => 'main_website',
- ],
- 'name' => 'Main Website Store',
- 'group_id' => 1,
- 'root_category_id' => [
- 'dataSet' => 'default_category',
- ],
- ];
-
- $this->_data['custom'] = [
- 'website_id' => [
- 'dataSet' => 'main_website',
- ],
- 'name' => 'store_name_%isolation%',
- 'root_category_id' => [
- 'dataSet' => 'default_category',
- ],
- ];
- }
-}
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
new file mode 100644
index 0000000000000..13a4b53decfbe
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Repository/StoreGroup.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+ - main_website
+
+ Main Website Store
+ 1
+
+ - default_category
+
+
+
+
+
+ - main_website
+
+ store_name_%isolation%
+
+ - default_category
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Website.php b/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Website.php
deleted file mode 100644
index 7e0fce6fd06b0..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Website.php
+++ /dev/null
@@ -1,43 +0,0 @@
-_data['all_websites'] = [
- 'name' => 'All Websites',
- 'website_id' => 0,
- ];
-
- $this->_data['main_website'] = [
- 'name' => 'Main Website',
- 'code' => 'base',
- 'sort_order' => 0,
- 'website_id' => 1,
- ];
-
- $this->_data['custom_website'] = [
- 'name' => 'Web_Site_%isolation%',
- 'code' => 'code_%isolation%',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..893eba588609e
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Website.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ All Websites
+ 0
+
+
+
+ Main Website
+ base
+ 0
+ 1
+
+
+
+ Web_Site_%isolation%
+ code_%isolation%
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/Store/Test/etc/fixture.xml
index 50bb606e97cee..608200f08a7a1 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/etc/fixture.xml
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/etc/fixture.xml
@@ -12,7 +12,7 @@
Magento\Store\Model\Resource\Website\Collection
code
-
+
@@ -21,7 +21,7 @@
Magento\Store\Model\Resource\Group\Collection
-
+
@@ -30,7 +30,7 @@
Magento\Store\Model\Resource\Store\Collection
code
-
+
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/Form.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/Form.php
index 41e9135fcad07..9477d5377db9b 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/Form.php
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/Form.php
@@ -220,7 +220,7 @@ function () use ($element, $inputSelector) {
return $input->isVisible() ? true : null;
}
);
- $element->find($this->addNewInput)->setValue($taxClass);
+ $element->find($this->addNewInput)->keys([$taxClass]);
$element->find($this->saveButton)->click();
$this->waitUntilOptionIsVisible($element, $taxClass);
}
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
index aa63949e9de9d..f039b6f00b8e3 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertOrderTaxOnBackend.php
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertOrderTaxOnBackend.php
@@ -6,12 +6,12 @@
namespace Magento\Tax\Test\Constraint;
-use Mtf\Constraint\AbstractConstraint;
+use Magento\Mtf\Constraint\AbstractConstraint;
use Magento\Sales\Test\Page\Adminhtml\OrderView;
use Magento\Sales\Test\Page\Adminhtml\OrderIndex;
use Magento\Sales\Test\Page\Adminhtml\OrderInvoiceNew;
use Magento\Sales\Test\Page\Adminhtml\OrderCreditMemoNew;
-use Mtf\Fixture\InjectableFixture;
+use Magento\Mtf\Fixture\InjectableFixture;
/**
* Checks that prices displayed excluding tax in order are correct on backend.
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
index debc24c79bb65..fd580fd0c21bb 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxCalculationAfterCheckout.php
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxCalculationAfterCheckout.php
@@ -6,13 +6,13 @@
namespace Magento\Tax\Test\Constraint;
-use Mtf\Constraint\AbstractConstraint;
+use Magento\Mtf\Constraint\AbstractConstraint;
use Magento\Checkout\Test\Page\CheckoutCart;
use Magento\Checkout\Test\Page\CheckoutOnepage;
use Magento\Checkout\Test\Page\CheckoutOnepageSuccess;
use Magento\Customer\Test\Fixture\CustomerInjectable;
use Magento\Sales\Test\Page\OrderView;
-use Mtf\Fixture\InjectableFixture;
+use Magento\Mtf\Fixture\InjectableFixture;
/**
* Checks that prices excluding tax on order review and customer order pages are equal to specified in dataset.
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
index d8000e08d4a2b..f4ec80bd813e9 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleApplying.php
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleApplying.php
@@ -126,7 +126,7 @@ public function processAssert(
$this->productSimple = $fixtureFactory->createByCode(
'catalogProductSimple',
[
- 'dataSet' => '100_dollar_product_for_tax_rule',
+ 'dataSet' => 'product_100_dollar_for_tax_rule',
'data' => [
'tax_class_id' => ['tax_product_class' => $taxProductClass],
]
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.php
deleted file mode 100644
index 1c81488b1fcca..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.php
+++ /dev/null
@@ -1,78 +0,0 @@
- 'Tax Class %isolation%',
- ];
-
- protected $class_id = [
- 'attribute_code' => 'class_id',
- 'backend_type' => 'smallint',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $class_name = [
- 'attribute_code' => 'class_name',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $class_type = [
- 'attribute_code' => 'class_type',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => 'CUSTOMER',
- 'input' => '',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- ];
-
- public function getClassId()
- {
- return $this->getData('class_id');
- }
-
- public function getClassName()
- {
- return $this->getData('class_name');
- }
-
- public function getClassType()
- {
- return $this->getData('class_type');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.xml
index 60ca3419c395d..a5200183867b8 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.xml
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.xml
@@ -5,41 +5,44 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Tax
flat
tax_class
Magento\Tax\Model\Resource\TaxClass\Collection
+ Magento\Tax\Test\Repository\TaxClass
+ Magento\Tax\Test\Handler\TaxClass\TaxClassInterface
+
+ Tax Class %isolation%
+
-
+
class_id
smallint
1
-
+
-
-
+
+
class_name
varchar
-
+ Tax Class %isolation%
-
-
- class_type
+
+
+ class_type
varchar
- CUSTOMER
+ CUSTOMER
-
-
+
+
id
virtual
-
+
-
-
- Magento\Tax\Test\Repository\TaxClass
- Magento\Tax\Test\Handler\TaxClass\TaxClassInterface
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.php
deleted file mode 100644
index daea91ae30396..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.php
+++ /dev/null
@@ -1,160 +0,0 @@
- 'Tax Rate %isolation%',
- 'rate' => '10',
- 'tax_country_id' => 'United States',
- 'tax_postcode' => '*',
- 'tax_region_id' => 'California',
- ];
-
- protected $tax_calculation_rate_id = [
- 'attribute_code' => 'tax_calculation_rate_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $tax_country_id = [
- 'attribute_code' => 'tax_country_id',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $tax_region_id = [
- 'attribute_code' => 'tax_region_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $tax_postcode = [
- 'attribute_code' => 'tax_postcode',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $code = [
- 'attribute_code' => 'code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $rate = [
- 'attribute_code' => 'rate',
- 'backend_type' => 'decimal',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $zip_is_range = [
- 'attribute_code' => 'zip_is_range',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $zip_from = [
- 'attribute_code' => 'zip_from',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $zip_to = [
- 'attribute_code' => 'zip_to',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- ];
-
- public function getTaxCalculationRateId()
- {
- return $this->getData('tax_calculation_rate_id');
- }
-
- public function getTaxCountryId()
- {
- return $this->getData('tax_country_id');
- }
-
- public function getTaxRegionId()
- {
- return $this->getData('tax_region_id');
- }
-
- public function getTaxPostcode()
- {
- return $this->getData('tax_postcode');
- }
-
- public function getCode()
- {
- return $this->getData('code');
- }
-
- public function getRate()
- {
- return $this->getData('rate');
- }
-
- public function getZipIsRange()
- {
- return $this->getData('zip_is_range');
- }
-
- public function getZipFrom()
- {
- return $this->getData('zip_from');
- }
-
- public function getZipTo()
- {
- return $this->getData('zip_to');
- }
-
- public function getId()
- {
- return $this->getData('id');
- }
-}
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
index f2766e8f25e22..0fb44a5512497 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.xml
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.xml
@@ -5,83 +5,90 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Tax
flat
tax_calculation_rate
Magento\Tax\Model\Resource\Calculation\Rate\Collection
code
+ Magento\Tax\Test\Repository\TaxRate
+ Magento\Tax\Test\Handler\TaxRate\TaxRateInterface
+
+ Tax Rate %isolation%
+ 10
+ United States
+ *
+ California
+
-
+
tax_calculation_rate_id
int
1
-
+
-
-
+
+
tax_country_id
varchar
-
+ United States
-
-
+
+
tax_region_id
int
-
+ California
-
-
+
+
tax_postcode
varchar
-
+ *
-
-
- code
+
+
+ code
varchar
-
+ Tax Rate %isolation%
-
-
+
+
rate
decimal
-
+ 10
-
-
+
+
zip_is_range
smallint
-
+
-
-
+
+
zip_from
int
-
+
-
-
+
+
zip_to
int
-
+
-
-
+
+
id
virtual
-
+
-
-
- Magento\Tax\Test\Repository\TaxRate
- Magento\Tax\Test\Handler\TaxRate\TaxRateInterface
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.php
deleted file mode 100644
index 9655754d1fa5b..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.php
+++ /dev/null
@@ -1,119 +0,0 @@
- 'TaxIdentifier%isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 'US-CA-*-Rate 1',
- ],
- ],
- ];
-
- protected $tax_calculation_rule_id = [
- 'attribute_code' => 'tax_calculation_rule_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $code = [
- 'attribute_code' => 'code',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $priority = [
- 'attribute_code' => 'priority',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $position = [
- 'attribute_code' => 'position',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $tax_rate = [
- 'attribute_code' => 'tax_rate',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Tax\Test\Fixture\TaxRule\TaxRate',
- ];
-
- protected $tax_customer_class = [
- 'attribute_code' => 'tax_customer_class',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Tax\Test\Fixture\TaxRule\TaxClass',
- ];
-
- protected $tax_product_class = [
- 'attribute_code' => 'tax_product_class',
- 'backend_type' => 'virtual',
- 'source' => 'Magento\Tax\Test\Fixture\TaxRule\TaxClass',
- ];
-
- public function getTaxCalculationRuleId()
- {
- return $this->getData('tax_calculation_rule_id');
- }
-
- public function getCode()
- {
- return $this->getData('code');
- }
-
- public function getPriority()
- {
- return $this->getData('priority');
- }
-
- public function getPosition()
- {
- return $this->getData('position');
- }
-
- public function getTaxRate()
- {
- return $this->getData('tax_rate');
- }
-
- public function getTaxCustomerClass()
- {
- return $this->getData('tax_customer_class');
- }
-
- public function getTaxProductClass()
- {
- return $this->getData('tax_product_class');
- }
-}
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
index 62e8d7d342d60..a8cc830c9c219 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.xml
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.xml
@@ -5,56 +5,70 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_Tax
flat
tax_calculation_rule
Magento\Tax\Model\Resource\Calculation\Rule\Collection
code
+ Magento\Tax\Test\Repository\TaxRule
+ Magento\Tax\Test\Handler\TaxRule\TaxRuleInterface
+
+ TaxIdentifier%isolation%
+
+ - US-CA-Rate_1
+
+
-
+
tax_calculation_rule_id
int
1
-
+
-
-
+
+
code
varchar
-
+ TaxIdentifier%isolation%
-
-
+
+
priority
int
-
+
-
-
+
+
position
int
-
+
-
-
- tax_rate
+
+
+ tax_rate
virtual
-
-
+
+
+ -
+
- US-CA-Rate_1
+
+
+
+
tax_customer_class
virtual
-
-
+
+
+
tax_product_class
virtual
-
+
+
-
-
- Magento\Tax\Test\Repository\TaxRule
- Magento\Tax\Test\Handler\TaxRule\TaxRuleInterface
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
new file mode 100644
index 0000000000000..30b50ab497547
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/ConfigData.xml
@@ -0,0 +1,175 @@
+
+
+
+
+
+ 2
+
+
+
+ 0
+
+
+
+ 0
+ TOTAL_BASE_CALCULATION
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+
+
+
+ 2
+ 2
+ 2
+ 2
+ 2
+ 1
+ 0
+ 2
+ 2
+ 2
+ 1
+
+
+
+ 3
+ 3
+ 3
+ 3
+ 3
+ 1
+ 0
+ 3
+ 3
+ 3
+ 1
+
+
+
+ ROW_BASE_CALCULATION
+ 1
+ 0
+ 1
+ 0
+ 0
+
+
+
+ ROW_BASE_CALCULATION
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+
+ TOTAL_BASE_CALCULATION
+ 0
+ 1
+ 1
+ 0
+ 0
+
+
+
+ ROW_BASE_CALCULATION
+ 1
+ 0
+ 0
+ 1
+ 0
+
+
+
+ UNIT_BASE_CALCULATION
+ 1
+ 0
+ 1
+ 1
+ 0
+
+
+
+ TOTAL_BASE_CALCULATION
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+
+ UNIT_BASE_CALCULATION
+ 0
+ 0
+ 1
+ 0
+ 0
+
+
+
+ TOTAL_BASE_CALCULATION
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+
+ TOTAL_BASE_CALCULATION
+ 0
+ 1
+ 1
+ 1
+ 0
+
+
+
+ UNIT_BASE_CALCULATION
+ 0
+ 1
+ 1
+ 0
+ 0
+
+
+
+ TOTAL_BASE_CALCULATION
+ 1
+ 1
+ 0
+ 1
+ 1
+
+
+
+ TOTAL_BASE_CALCULATION
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxClass.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxClass.php
deleted file mode 100644
index 071b74555d17b..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxClass.php
+++ /dev/null
@@ -1,60 +0,0 @@
-_data['Taxable Goods'] = [
- 'class_id' => '2',
- 'class_name' => 'Taxable Goods',
- 'class_type' => 'PRODUCT',
- 'id' => '2',
- 'mtf_dataset_name' => 'Taxable Goods',
- ];
-
- $this->_data['Retail Customer'] = [
- 'class_id' => '3',
- 'class_name' => 'Retail Customer',
- 'class_type' => 'CUSTOMER',
- 'id' => '3',
- 'mtf_dataset_name' => 'Retail Customer',
- ];
-
- $this->_data['customer_tax_class'] = [
- 'class_name' => 'Customer Tax Class %isolation%',
- 'class_type' => 'CUSTOMER',
- ];
-
- $this->_data['product_tax_class'] = [
- 'class_name' => 'Product Tax Class %isolation%',
- 'class_type' => 'PRODUCT',
- ];
-
- $this->_data['None'] = [
- 'class_name' => 'None',
- 'class_type' => 'PRODUCT',
- 'id' => '0',
- ];
-
- $this->_data['all'] = [
- 'class_name' => 'All',
- ];
- }
-}
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
index d6e782e82eca5..a48e7e788ae52 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxClass.xml
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxClass.xml
@@ -5,19 +5,42 @@
* See COPYING.txt for license details.
*/
-->
-
- -
- 2
-
-
- 2
-
-
- -
- 3
-
-
- 3
-
-
+
+
+
+ 2
+ Taxable Goods
+ PRODUCT
+ 2
+ Taxable Goods
+
+
+
+ 3
+ Retail Customer
+ CUSTOMER
+ 3
+ Retail Customer
+
+
+
+ Customer Tax Class %isolation%
+ CUSTOMER
+
+
+
+ Product Tax Class %isolation%
+ PRODUCT
+
+
+
+ None
+ PRODUCT
+ 0
+
+
+
+ All
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRate.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRate.php
deleted file mode 100644
index e5a571dc1d582..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRate.php
+++ /dev/null
@@ -1,174 +0,0 @@
-_data['US-CA-*-Rate 1'] = [
- 'tax_calculation_rate_id' => '1',
- 'tax_country_id' => 'US',
- 'tax_region_id' => '12',
- 'tax_postcode' => '*',
- 'code' => 'US-CA-*-Rate 1',
- 'rate' => '8.2500',
- 'zip_is_range' => '',
- 'zip_from' => '',
- 'zip_to' => '',
- 'id' => '1',
- 'mtf_dataset_name' => 'US-CA-*-Rate 1',
- ];
-
- $this->_data['US-NY-*-Rate 1'] = [
- 'tax_calculation_rate_id' => '2',
- 'tax_country_id' => 'US',
- 'tax_region_id' => '43',
- 'tax_postcode' => '*',
- 'code' => 'US-NY-*-Rate 1',
- 'rate' => '8.3750',
- 'zip_is_range' => '',
- 'zip_from' => '',
- 'zip_to' => '',
- 'id' => '2',
- 'mtf_dataset_name' => 'US-NY-*-Rate 1',
- ];
-
- $this->_data['us_ca_rate_8_25'] = [
- 'code' => 'Tax Rate %isolation%',
- 'rate' => '8.25',
- 'tax_country_id' => 'United States',
- 'tax_postcode' => '90230',
- 'tax_region_id' => 'California',
- ];
-
- $this->_data['us_ca_rate_8_25_no_zip'] = [
- 'code' => 'Tax Rate %isolation%',
- 'rate' => '8.25',
- 'tax_country_id' => 'United States',
- 'tax_postcode' => '*',
- 'tax_region_id' => 'California',
- ];
-
- $this->_data['us_ca_rate_8_375'] = [
- 'code' => 'Tax Rate %isolation%',
- 'rate' => '8.375',
- 'tax_country_id' => 'United States',
- 'tax_postcode' => '*',
- 'tax_region_id' => 'California',
- ];
-
- $this->_data['us_ny_rate_8_375'] = [
- 'code' => 'Tax Rate %isolation%',
- 'rate' => '8.375',
- 'tax_country_id' => 'United States',
- 'tax_region_id' => 'New York',
- 'tax_postcode' => '*',
- ];
-
- $this->_data['us_ny_rate_8_25'] = [
- 'code' => 'Tax Rate %isolation%',
- 'rate' => '8.25',
- 'tax_country_id' => 'United States',
- 'tax_region_id' => 'New York',
- 'tax_postcode' => '*',
- ];
-
- $this->_data['us_ny_rate_8_1'] = [
- 'code' => 'US-NY-*-%isolation%',
- 'rate' => '8.1',
- 'tax_country_id' => 'United States',
- 'tax_region_id' => 'New York',
- 'tax_postcode' => '*',
- ];
-
- $this->_data['paypal_rate_8_25'] = [
- 'code' => 'Tax Rate %isolation%',
- 'rate' => '8.25',
- 'tax_country_id' => 'United States',
- 'tax_postcode' => '95131',
- 'tax_region_id' => 'California',
- ];
-
- $this->_data['uk_full_tax_rate'] = [
- 'code' => 'Tax Rate %isolation%',
- 'rate' => '20',
- 'tax_country_id' => 'United Kingdom',
- 'tax_postcode' => '*',
- ];
-
- $this->_data['default'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_postcode' => '*',
- 'tax_country_id' => 'Australia',
- 'rate' => '20',
- ];
-
- $this->_data['withZipRange'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'zip_is_range' => 'Yes',
- 'zip_from' => '90001',
- 'zip_to' => '96162',
- 'tax_country_id' => 'United States',
- 'tax_region_id' => 'California',
- 'rate' => '15.5',
- ];
-
- $this->_data['withFixedZip'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_postcode' => '*',
- 'tax_country_id' => 'United States',
- 'tax_region_id' => 'Texas',
- 'rate' => '20',
- ];
-
- $this->_data['us_ut_fixed_zip_rate_20'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_postcode' => '84001',
- 'tax_country_id' => 'United States',
- 'tax_region_id' => 'Utah',
- 'rate' => '20',
- ];
-
- $this->_data['tx_rate_10'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_postcode' => '*',
- 'tax_country_id' => 'United States',
- 'tax_region_id' => 'Texas',
- 'rate' => '10',
- ];
-
- $this->_data['ny_rate_20'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_postcode' => '*',
- 'tax_country_id' => 'United States',
- 'tax_region_id' => 'New York',
- 'rate' => '20',
- ];
-
- $this->_data['ca_rate_30'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_postcode' => '*',
- 'tax_country_id' => 'United States',
- 'tax_region_id' => 'California',
- 'rate' => '30',
- ];
- }
-}
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
index 00fd3fb265f09..1c157d3d3f3ba 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRate.xml
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRate.xml
@@ -5,31 +5,154 @@
* See COPYING.txt for license details.
*/
-->
-
- -
- 1
-
- 12
-
-
- 8.2500
-
-
-
- 1
-
-
- -
- 2
-
- 43
-
-
- 8.3750
-
-
-
- 2
-
-
+
+
+
+ 1
+ US
+ 12
+ *
+ US-CA-*-Rate 1
+ 8.2500
+
+
+
+ 1
+ US-CA-*-Rate 1
+
+
+
+ 2
+ US
+ 43
+ *
+ 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
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRule.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRule.php
deleted file mode 100644
index 782ec7e2406b9..0000000000000
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRule.php
+++ /dev/null
@@ -1,166 +0,0 @@
-_data['custom_rule'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 0 => 'us_ca_rate_8_25',
- 1 => 'us_ny_rate_8_375',
- ],
- ],
- 'priority' => '0',
- 'position' => '0',
- ];
-
- $this->_data['us_ca_ny_rule'] = [
- 'code' => 'Tax Rule %isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 0 => 'US-CA-*-Rate 1',
- 1 => 'us_ny_rate_8_1',
- ],
- ],
- 'tax_customer_class' => [
- 'dataSet' => [
- 0 => 'Retail Customer',
- 1 => 'customer_tax_class',
- ],
- ],
- 'tax_product_class' => [
- 'dataSet' => [
- 0 => 'Taxable Goods',
- 1 => 'product_tax_class',
- ],
- ],
- 'priority' => '0',
- 'position' => '0',
- ];
-
- $this->_data['uk_full_tax_rule'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 0 => 'uk_full_tax_rate',
- ],
- ],
- 'priority' => '0',
- 'position' => '0',
- ];
-
- $this->_data['tax_rule_default'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 0 => 'US-CA-*-Rate 1',
- ],
- ],
- 'tax_customer_class' => [
- 'dataSet' => [
- 0 => 'Retail Customer',
- ],
- ],
- 'tax_product_class' => [
- 'dataSet' => [
- 0 => 'Taxable Goods',
- ],
- ],
- 'priority' => '1',
- 'position' => '1',
- ];
-
- $this->_data['tax_rule_with_custom_tax_classes'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 0 => 'US-CA-*-Rate 1',
- 1 => 'US-NY-*-Rate 1',
- ],
- ],
- 'tax_customer_class' => [
- 'dataSet' => [
- 0 => 'Retail Customer',
- 1 => 'customer_tax_class',
- ],
- ],
- 'tax_product_class' => [
- 'dataSet' => [
- 0 => 'product_tax_class',
- 1 => 'Taxable Goods',
- ],
- ],
- 'priority' => '1',
- 'position' => '1',
- ];
-
- $this->_data['customer_equals_store_rate'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 0 => 'us_ca_rate_8_25_no_zip',
- 1 => 'us_ny_rate_8_25',
- ],
- ],
- 'priority' => '0',
- 'position' => '0',
- ];
-
- $this->_data['customer_less_store_rate'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 0 => 'us_ca_rate_8_375',
- 1 => 'us_ny_rate_8_25',
- ],
- ],
- 'priority' => '0',
- 'position' => '0',
- ];
-
- $this->_data['customer_greater_store_rate'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 0 => 'us_ca_rate_8_25_no_zip',
- 1 => 'us_ny_rate_8_375',
- ],
- ],
- 'priority' => '0',
- 'position' => '0',
- ];
-
- $this->_data['cross_border_tax_rule'] = [
- 'code' => 'TaxIdentifier%isolation%',
- 'tax_rate' => [
- 'dataSet' => [
- 0 => 'tx_rate_10',
- 1 => 'ny_rate_20',
- 2 => 'ca_rate_30',
- ],
- ],
- 'priority' => '0',
- 'position' => '0',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..4fd226bd3fac2
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRule.xml
@@ -0,0 +1,151 @@
+
+
+
+
+
+ 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-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
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest/testCreateTaxRule.csv b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest/testCreateTaxRule.csv
index 9454ad193304b..802baedf2b334 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest/testCreateTaxRule.csv
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest/testCreateTaxRule.csv
@@ -1,6 +1,5 @@
-"description";"taxRule/data/code";"taxRule/data/tax_rate/dataSet/rate_0";"taxRule/data/tax_rate/dataSet/rate_1";"taxRule/data/tax_rate/dataSet/rate_2";"taxRule/data/tax_customer_class/dataSet/class_0";"taxRule/data/tax_customer_class/dataSet/class_1";"taxRule/data/tax_product_class/dataSet/class_0";"taxRule/data/tax_product_class/dataSet/class_1";"taxRule/data/priority";"taxRule/data/position";"constraint";"tag"
-"Creating tax rule with default values";"TaxIdentifier%isolation%";"US-CA-*-Rate 1";"-";"-";"-";"-";"-";"-";"-";"-";"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm";""
-"Creating tax rule with new tax classes";"TaxIdentifier%isolation%";"US-CA-*-Rate 1";"US-NY-*-Rate 1";"-";"customer_tax_class";"-";"product_tax_class";"-";1;1;"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm";""
-"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;"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm";""
-"Creating tax rule with new tax rate that has zip range";"TaxIdentifier%isolation%";"withZipRange";"US-CA-*-Rate 1";"-";"Retail Customer";"customer_tax_class";"Taxable Goods";"product_tax_class";1;"-";"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm";""
-"MAGETWO-12438: Create Tax Rule with New and Existing Tax Rate, Customer Tax Class, Product Tax Class";"TaxIdentifier%isolation%";"US-CA-*-Rate 1";"us_ny_rate_8_1";"-";"Retail Customer";"customer_tax_class";"Taxable Goods";"product_tax_class";0;0;"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid";"bamboo_plan:end_to_end,test_type:acceptance_test"
+"taxRule/data/code";"taxRule/data/tax_rate/dataSet/rate_0";"taxRule/data/tax_rate/dataSet/rate_1";"taxRule/data/tax_rate/dataSet/rate_2";"taxRule/data/tax_customer_class/dataSet/class_0";"taxRule/data/tax_customer_class/dataSet/class_1";"taxRule/data/tax_product_class/dataSet/class_0";"taxRule/data/tax_product_class/dataSet/class_1";"taxRule/data/priority";"taxRule/data/position";"constraint"
+"TaxIdentifier%isolation%";"US-CA-Rate_1";"-";"-";"-";"-";"-";"-";"-";"-";"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm"
+"TaxIdentifier%isolation%";"US-CA-Rate_1";"US-NY-Rate_1";"-";"customer_tax_class";"-";"product_tax_class";"-";1;1;"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm"
+"TaxIdentifier%isolation%";"default";"US-NY-Rate_1";"US-CA-Rate_1";"retail_customer";"customer_tax_class";"Taxable Goods";"-";"-";1;"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm"
+"TaxIdentifier%isolation%";"withZipRange";"US-CA-Rate_1";"-";"retail_customer";"customer_tax_class";"Taxable Goods";"product_tax_class";1;"-";"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm"
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest/testUpdateTaxRule.csv b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest/testUpdateTaxRule.csv
index a2cf204815996..ef703c7b92e08 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest/testUpdateTaxRule.csv
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest/testUpdateTaxRule.csv
@@ -1,5 +1,5 @@
"initialTaxRule/dataSet";"address/data/country_id";"address/data/region_id";"address/data/postcode";"shipping/carrier";"shipping/method";"shipping/price";"taxRule/data/code";"taxRule/data/tax_rate/dataSet/rate_0";"taxRule/data/tax_customer_class/dataSet/class_0";"taxRule/data/tax_product_class/dataSet/class_0";"taxRule/data/tax_product_class/dataSet/class_1";"taxRule/data/priority";"taxRule/data/position";"constraint"
"tax_rule_default";"-";"-";"-";"-";"-";"-";"New Tax Rule name%isolation%";"default";"customer_tax_class";"product_tax_class";"product_tax_class";"2";"2";"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm"
-"tax_rule_with_custom_tax_classes";"-";"-";"-";"-";"-";"-";"-";"withZipRange";"Retail Customer";"product_tax_class";"Taxable Goods";"-";"-";"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm"
+"tax_rule_with_custom_tax_classes";"-";"-";"-";"-";"-";"-";"-";"withZipRange";"retail_customer";"product_tax_class";"taxable_goods";"-";"-";"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm"
"tax_rule_with_custom_tax_classes";"United States";"Utah";84001;"Flat Rate";"Fixed";5;"-";"us_ut_fixed_zip_rate_20";"-";"product_tax_class";"-";"-";"-";"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm, assertTaxRuleIsApplied"
"tax_rule_with_custom_tax_classes";"United States";"Idaho";83201;"Flat Rate";"Fixed";5;"-";"withFixedZip";"-";"product_tax_class";"-";"-";"-";"assertTaxRuleSuccessSaveMessage, assertTaxRuleInGrid, assertTaxRuleForm, assertTaxRuleIsNotApplied"
\ No newline at end of file
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
index e90c0be6bc439..555af5a2594c6 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestStep/CreateTaxRuleStep.php
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/TestStep/CreateTaxRuleStep.php
@@ -6,8 +6,8 @@
namespace Magento\Tax\Test\TestStep;
-use Mtf\Fixture\FixtureFactory;
-use Mtf\TestStep\TestStepInterface;
+use Magento\Mtf\Fixture\FixtureFactory;
+use Magento\Mtf\TestStep\TestStepInterface;
/**
* Creating tax rule
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/etc/fixture.xml
index d46252b8be403..e9dcc289b3cb2 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/fixture.xml
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/etc/fixture.xml
@@ -17,7 +17,7 @@
virtual
-
+
@@ -31,7 +31,7 @@
virtual
-
+
@@ -53,7 +53,7 @@
virtual
-
+
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
index f670da230ee3d..4781f506ae0c8 100644
--- 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
@@ -1,6 +1,5 @@
+
+
+
+
+ 0
+
+
+
+ 1
+ 1
+ UPS_XML
+ 0
+ CARRIERS_UPS_PASSWORD
+ CARRIERS_UPS_USERNAME
+ 0
+ https://wwwcie.ups.com/ups.app/xml/Rate
+ Shipments Originating in United States
+ CARRIERS_UPS_ACCESS_LICENSE_NUMBER
+ 0
+ CARRIERS_UPS_SHIPPER_NUMBER
+ CP
+ RES
+ https://wwwcie.ups.com/ups.app/xml/Track
+ LBS
+
+ - 11
+ - 12
+ - 14
+ - 54
+ - 59
+ - 65
+ - 01
+ - 02
+ - 03
+ - 07
+ - 08
+
+ 0
+ 0
+ 1
+
+
+
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
index f46e09fdf49dd..e5282c4928ac8 100644
--- 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
@@ -1,6 +1,5 @@
'Main Website/Main Website Store/Default Store View',
- 'request_path' => 'test_request%isolation%',
- ];
-
- protected $id = [
- 'attribute_code' => 'id',
- 'backend_type' => 'virtual',
- ];
-
- protected $store_id = [
- 'attribute_code' => 'store_id',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => 'Default Store View',
- 'source' => 'Magento\UrlRewrite\Test\Fixture\UrlRewrite\StoreId',
- 'input' => 'select',
- ];
-
- protected $redirect_type = [
- 'attribute_code' => 'redirect_type',
- 'backend_type' => 'int',
- 'is_required' => '0',
- 'input' => 'select',
- ];
-
- protected $request_path = [
- 'attribute_code' => 'request_path',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => 'request_path%isolation%',
- 'input' => 'text',
- ];
-
- protected $entity_type = [
- 'attribute_code' => 'entity_type',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'default_value' => '',
- 'input' => 'text',
- ];
-
- protected $target_path = [
- 'attribute_code' => 'target_path',
- 'backend_type' => 'varchar',
- 'is_required' => '1',
- 'default_value' => 'target_path%isolation%',
- 'input' => 'text',
- 'source' => 'Magento\UrlRewrite\Test\Fixture\UrlRewrite\TargetPath',
- ];
-
- protected $description = [
- 'attribute_code' => 'description',
- 'backend_type' => 'varchar',
- 'is_required' => '0',
- 'input' => 'text',
- ];
-
- public function getId()
- {
- return $this->getData('id');
- }
-
- public function getStoreId()
- {
- return $this->getData('store_id');
- }
-
- public function getRedirectType()
- {
- return $this->getData('redirect_type');
- }
-
- public function getRequestPath()
- {
- return $this->getData('request_path');
- }
-
- public function getEntityType()
- {
- return $this->getData('entity_type');
- }
-
- public function getTargetPath()
- {
- return $this->getData('target_path');
- }
-
- public function getDescription()
- {
- return $this->getData('description');
- }
-}
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
index 6ee72c1d70ee2..be287841dbfa5 100644
--- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite.xml
+++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite.xml
@@ -5,55 +5,66 @@
* See COPYING.txt for license details.
*/
-->
-
- Magento_Backend
+
+ Magento_UrlRewrite
virtual
url_rewrite
Magento\UrlRewrite\Model\Resource\UrlRewriteCollection
request_path
+ Magento\UrlRewrite\Test\Repository\UrlRewrite
+ Magento\UrlRewrite\Test\Handler\UrlRewrite\UrlRewriteInterface
+
+ Main Website/Main Website Store/Default Store View
+ test_request%isolation%
+
-
+
id
virtual
-
-
+
+
store_id
- virtual
-
-
+ varchar
+ 1
+ Main Website/Main Website Store/Default Store View
+
+ select
+
+
redirect_type
int
0
select
-
-
+
+
request_path
varchar
1
- request_path%isolation%
+ test_request%isolation%
text
-
-
+
+
entity_type
varchar
0
+
text
-
-
+
+
target_path
varchar
1
- target_path%isolation%
-
+ target_path%isolation%
text
-
-
+
+
+
description
varchar
0
text
-
+
- Magento\UrlRewrite\Test\Repository\UrlRewrite
- Magento\UrlRewrite\Test\Handler\UrlRewrite
diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Repository/UrlRewrite.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Repository/UrlRewrite.php
deleted file mode 100644
index 0e1b7a3421d54..0000000000000
--- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Repository/UrlRewrite.php
+++ /dev/null
@@ -1,46 +0,0 @@
-_data['default'] = [
- 'request_path' => 'test-test-test%isolation%.html',
- 'target_path' => 'http://www.ebayinc.com/',
- 'redirect_type' => 'Temporary (302)',
- 'store_id' => 'Main Website/Main Website Store/Default Store View',
- ];
-
- $this->_data['default_without_target'] = [
- 'request_path' => 'test-test-test%isolation%.html',
- 'redirect_type' => 'Temporary (302)',
- 'store_id' => 'Main Website/Main Website Store/Default Store View',
- ];
-
- $this->_data['custom_rewrite_wishlist'] = [
- 'store_id' => 'Main Website/Main Website Store/Default Store View',
- 'request_path' => 'wishlist/%isolation%',
- 'target_path' => 'http://google.com',
- 'redirect_type' => 'Temporary (302)',
- 'description' => 'test description',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..bff977c298f8b
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Repository/UrlRewrite.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ test-test-test%isolation%.html
+ http://www.ebayinc.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/CreateProductUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductUrlRewriteEntityTest.php
index f4e8d5d46f848..623d03d64103a 100644
--- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductUrlRewriteEntityTest.php
+++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductUrlRewriteEntityTest.php
@@ -13,9 +13,8 @@
use Magento\Mtf\TestCase\Injectable;
/**
- * Test Creation for Product URL Rewrites Entity
- *
* Test Flow:
+ *
* Preconditions:
* 1. Create custom storeView
* 2. Create simple product
diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest/test.csv
index d5b350c767936..58e27c235e06a 100644
--- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest/test.csv
@@ -1,2 +1,2 @@
"productRedirect/dataSet";"productRedirect/data/target_path/entity";"constraint"
-"default_without_target";"product/%catalogProductSimple::100_dollar_product%";"assertUrlRewriteDeletedMessage, assertUrlRewriteNotInGrid, assertPageByUrlRewriteIsNotFound"
+"default_without_target";"product/%catalogProductSimple::product_100_dollar%";"assertUrlRewriteDeletedMessage, assertUrlRewriteNotInGrid, assertPageByUrlRewriteIsNotFound"
diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest/test.csv
index 5baa25f7f6cf3..f910d38e94936 100644
--- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest/test.csv
@@ -1,2 +1,2 @@
"urlRewrite/data/target_path/entity";"urlRewrite/data/store_id";"urlRewrite/data/request_path";"urlRewrite/data/redirect_type";"urlRewrite/data/description";"isRequired";"constraint"
-"product/%catalogProductSimple::100_dollar_product%";"Main Website/Main Website Store/Default Store View";"test_%isolation%.html";"Temporary (302)";"description_%isolation%";"Yes";"assertUrlRewriteSaveMessage, assertUrlRewriteProductRedirect"
+"product/%catalogProductSimple::product_100_dollar%";"Main Website/Main Website Store/Default Store View";"test_%isolation%.html";"Temporary (302)";"description_%isolation%";"Yes";"assertUrlRewriteSaveMessage, assertUrlRewriteProductRedirect"
diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/constraint.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/constraint.xml
index 9578f490e7f64..2691f8e676292 100644
--- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/constraint.xml
+++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/constraint.xml
@@ -9,8 +9,8 @@
low
-
-
+
+
@@ -22,31 +22,31 @@
low
-
-
-
-
+
+
+
+
low
-
+
low
-
-
+
+
low
-
-
-
+
+
+
@@ -55,16 +55,16 @@
low
-
-
+
+
low
-
-
-
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/fixture.xml
index 041ba79dfd848..6ab4aa23ec69e 100644
--- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/fixture.xml
+++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/fixture.xml
@@ -17,7 +17,7 @@
virtual
-
+
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/AdminUserRole.php b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/AdminUserRole.php
deleted file mode 100644
index 88180cf31cb0a..0000000000000
--- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/AdminUserRole.php
+++ /dev/null
@@ -1,184 +0,0 @@
- 'AdminRole%isolation%',
- 'resource_access' => 'All',
- ];
-
- protected $role_id = [
- 'attribute_code' => 'role_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $parent_id = [
- 'attribute_code' => 'parent_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $tree_level = [
- 'attribute_code' => 'tree_level',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $sort_order = [
- 'attribute_code' => 'sort_order',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $role_type = [
- 'attribute_code' => 'role_type',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $user_id = [
- 'attribute_code' => 'user_id',
- 'backend_type' => 'int',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $rolename = [
- 'attribute_code' => 'rolename',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'role-info',
- ];
-
- protected $user_type = [
- 'attribute_code' => 'user_type',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $resource_access = [
- 'attribute_code' => 'resource_access',
- 'backend_type' => 'virtual',
- 'group' => 'role-resources',
- ];
-
- protected $roles_resources = [
- 'attribute_code' => 'roles_resources',
- 'backend_type' => 'virtual',
- 'group' => 'role-resources',
- ];
-
- protected $in_role_users = [
- 'attribute_code' => 'in_role_users',
- 'backend_type' => 'virtual',
- 'group' => 'in_role_users',
- 'source' => 'Magento\User\Test\Fixture\AdminUserRole\InRoleUsers',
- ];
-
- public function getRoleId()
- {
- return $this->getData('role_id');
- }
-
- public function getParentId()
- {
- return $this->getData('parent_id');
- }
-
- public function getTreeLevel()
- {
- return $this->getData('tree_level');
- }
-
- public function getSortOrder()
- {
- return $this->getData('sort_order');
- }
-
- public function getRoleType()
- {
- return $this->getData('role_type');
- }
-
- public function getUserId()
- {
- return $this->getData('user_id');
- }
-
- public function getRoleName()
- {
- return $this->getData('rolename');
- }
-
- public function getUserType()
- {
- return $this->getData('user_type');
- }
-
- public function getGwsIsAll()
- {
- return $this->getData('gws_is_all');
- }
-
- public function getGwsWebsites()
- {
- return $this->getData('gws_websites');
- }
-
- public function getGwsStoreGroups()
- {
- return $this->getData('gws_store_groups');
- }
-
- public function getResourceAccess()
- {
- return $this->getData('resource_access');
- }
-
- public function getRolesResources()
- {
- return $this->getData('roles_resources');
- }
-
- public function getInRoleUsers()
- {
- return $this->getData('in_role_users');
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/AdminUserRole.xml b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/AdminUserRole.xml
index bd96f944c935e..2980c7da29803 100644
--- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/AdminUserRole.xml
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/AdminUserRole.xml
@@ -5,83 +5,93 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_User
flat
authorization_role
Magento\User\Model\Resource\Role\User\Collection
+ Magento\User\Test\Repository\AdminUserRole
+ Magento\User\Test\Handler\AdminUserRole\AdminUserRoleInterface
+
+ AdminRole%isolation%
+ All
+
-
+
role_id
int
1
-
-
-
-
+
+
+
+
parent_id
int
-
- 0
-
-
-
+
+ 0
+
+
+
tree_level
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
sort_order
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
role_type
varchar
-
- 0
-
-
-
+
+ 0
+
+
+
user_id
int
-
- 0
-
-
-
+
+ 0
+
+
+
rolename
varchar
-
-
-
-
-
+
+ AdminRole%isolation%
+
+ role-info
+
+
user_type
varchar
-
-
-
-
-
+
+
+
+
+
resource_access
virtual
-
-
+ role-resources
+ All
+
+
roles_resources
virtual
-
-
+ role-resources
+
+
in_role_users
virtual
in_role_users
-
+
- Magento\User\Test\Repository\AdminUserRole
- Magento\User\Test\Handler\AdminUserRole\AdminUserRoleInterface
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.php b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.php
deleted file mode 100644
index 78053ea189cb6..0000000000000
--- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.php
+++ /dev/null
@@ -1,325 +0,0 @@
- 'AdminUser%isolation%',
- 'firstname' => 'FirstName%isolation%',
- 'lastname' => 'LastName%isolation%',
- 'email' => 'email%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'is_active' => 'Active',
- ];
-
- protected $user_id = [
- 'attribute_code' => 'user_id',
- 'backend_type' => 'int',
- 'is_required' => '1',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $firstname = [
- 'attribute_code' => 'firstname',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'user-info',
- ];
-
- protected $lastname = [
- 'attribute_code' => 'lastname',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'user-info',
- ];
-
- protected $email = [
- 'attribute_code' => 'email',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'user-info',
- ];
-
- protected $username = [
- 'attribute_code' => 'username',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'user-info',
- ];
-
- protected $password = [
- 'attribute_code' => 'password',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- 'group' => 'user-info',
- ];
-
- protected $created = [
- 'attribute_code' => 'created',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => 'CURRENT_TIMESTAMP',
- 'input' => '',
- ];
-
- protected $modified = [
- 'attribute_code' => 'modified',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $logdate = [
- 'attribute_code' => 'logdate',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $lognum = [
- 'attribute_code' => 'lognum',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $reload_acl_flag = [
- 'attribute_code' => 'reload_acl_flag',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '0',
- 'input' => '',
- ];
-
- protected $is_active = [
- 'attribute_code' => 'is_active',
- 'backend_type' => 'smallint',
- 'is_required' => '',
- 'default_value' => '1',
- 'input' => '',
- ];
-
- protected $extra = [
- 'attribute_code' => 'extra',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $rp_token = [
- 'attribute_code' => 'rp_token',
- 'backend_type' => 'text',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $rp_token_created_at = [
- 'attribute_code' => 'rp_token_created_at',
- 'backend_type' => 'timestamp',
- 'is_required' => '',
- 'default_value' => '',
- 'input' => '',
- ];
-
- protected $interface_locale = [
- 'attribute_code' => 'interface_locale',
- 'backend_type' => 'varchar',
- 'is_required' => '',
- 'default_value' => 'en_US',
- 'input' => '',
- ];
-
- protected $role_id = [
- 'attribute_code' => 'role_id',
- 'backend_type' => 'virtual',
- 'group' => 'user-role',
- 'source' => 'Magento\User\Test\Fixture\User\RoleId',
- ];
-
- protected $password_confirmation = [
- 'attribute_code' => 'password_confirmation',
- 'backend_type' => 'virtual',
- 'group' => 'user-info',
- ];
-
- protected $current_password = [
- 'attribute_code' => 'current_password',
- 'backend_type' => 'virtual',
- 'group' => 'user-info',
- ];
-
- /**
- * Initialize dependencies.
- *
- * @param Config $configuration
- * @param RepositoryFactory $repositoryFactory
- * @param FixtureFactory $fixtureFactory
- * @param HandlerFactory $handlerFactory
- * @param EventManagerInterface $eventManager
- * @param array $data
- * @param string $dataSet
- * @param bool $persist
- */
- public function __construct(
- Config $configuration,
- RepositoryFactory $repositoryFactory,
- FixtureFactory $fixtureFactory,
- HandlerFactory $handlerFactory,
- EventManagerInterface $eventManager,
- array $data = [],
- $dataSet = '',
- $persist = false
- ) {
- $this->defaultDataSet['current_password'] = $configuration
- ->getConfigParam('application/backend_user_credentials/password');
- parent::__construct(
- $configuration,
- $repositoryFactory,
- $fixtureFactory,
- $handlerFactory,
- $eventManager,
- $data,
- $dataSet,
- $persist
- );
- }
-
- public function getUserId()
- {
- return $this->getData('user_id');
- }
-
- public function getFirstname()
- {
- return $this->getData('firstname');
- }
-
- public function getLastname()
- {
- return $this->getData('lastname');
- }
-
- public function getEmail()
- {
- return $this->getData('email');
- }
-
- public function getUsername()
- {
- return $this->getData('username');
- }
-
- public function getPassword()
- {
- return $this->getData('password');
- }
-
- public function getCreated()
- {
- return $this->getData('created');
- }
-
- public function getModified()
- {
- return $this->getData('modified');
- }
-
- public function getLogdate()
- {
- return $this->getData('logdate');
- }
-
- public function getLognum()
- {
- return $this->getData('lognum');
- }
-
- public function getReloadAclFlag()
- {
- return $this->getData('reload_acl_flag');
- }
-
- public function getIsActive()
- {
- return $this->getData('is_active');
- }
-
- public function getExtra()
- {
- return $this->getData('extra');
- }
-
- public function getRpToken()
- {
- return $this->getData('rp_token');
- }
-
- public function getRpTokenCreatedAt()
- {
- return $this->getData('rp_token_created_at');
- }
-
- public function getInterfaceLocale()
- {
- return $this->getData('interface_locale');
- }
-
- public function getRoleId()
- {
- return $this->getData('role_id');
- }
-
- public function getPasswordConfirmation()
- {
- return $this->getData('password_confirmation');
- }
-
- public function getCurrentPassword()
- {
- return $this->getData('current_password');
- }
-}
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
index dec12e3e9cbdf..944496bf15d6f 100644
--- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.xml
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.xml
@@ -5,139 +5,160 @@
* See COPYING.txt for license details.
*/
-->
-
+
Magento_User
flat
admin_user
Magento\User\Model\Resource\User\Collection
+ Magento\User\Test\Repository\User
+ Magento\User\Test\Handler\User\UserInterface
+
+ AdminUser%isolation%
+ FirstName%isolation%
+ LastName%isolation%
+ email%isolation%@example.com
+ 123123q
+ 123123q
+ Active
+ %current_password%
+
-
+
user_id
int
1
-
-
-
-
+
+
+
+
firstname
varchar
-
-
-
-
-
+
+ FirstName%isolation%
+
+ user-info
+
+
lastname
varchar
-
-
-
-
-
+
+ LastName%isolation%
+
+ user-info
+
+
email
varchar
-
-
-
-
-
+
+ email%isolation%@example.com
+
+ user-info
+
+
username
varchar
-
-
-
-
-
+
+ AdminUser%isolation%
+
+ user-info
+
+
password
varchar
-
-
-
-
-
+
+ 123123q
+
+ user-info
+
+
created
timestamp
-
- CURRENT_TIMESTAMP
-
-
-
+
+ CURRENT_TIMESTAMP
+
+
+
modified
timestamp
-
-
-
-
-
+
+
+
+
+
logdate
timestamp
-
-
-
-
-
+
+
+
+
+
lognum
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
reload_acl_flag
smallint
-
- 0
-
-
-
+
+ 0
+
+
+
is_active
smallint
-
- 1
-
-
-
+
+ Active
+
+
+
extra
text
-
-
-
-
-
+
+
+
+
+
rp_token
text
-
-
-
-
-
+
+
+
+
+
rp_token_created_at
timestamp
-
-
-
-
-
+
+
+
+
+
interface_locale
varchar
-
- en_US
-
-
-
+
+ en_US
+
+
+
role_id
virtual
user-role
-
-
+
+
password_confirmation
virtual
-
-
+ user-info
+ 123123q
+
+
current_password
virtual
-
+ user-info
+
+
- Magento\User\Test\Repository\User
- Magento\User\Test\Handler\User\UserInterface
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
new file mode 100644
index 0000000000000..0774280ab8ad6
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/CurrentPassword.php
@@ -0,0 +1,79 @@
+params = $params;
+ /** @var \Magento\Mtf\System\Config $systemConfig */
+ if ($data == '%current_password%') {
+ $systemConfig = ObjectManager::getInstance()->create('Magento\Mtf\System\Config');
+ $data = $systemConfig->getConfigParam('application/backend_user_credentials/password');
+ }
+ $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/Handler/Curl/CreateRole.php b/dev/tests/functional/tests/app/Magento/User/Test/Handler/Curl/CreateRole.php
index df5f11c9a29f3..e8e6027bcb34c 100644
--- a/dev/tests/functional/tests/app/Magento/User/Test/Handler/Curl/CreateRole.php
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Handler/Curl/CreateRole.php
@@ -1,6 +1,5 @@
_data['default'] = [
- 'rolename' => 'RoleName%isolation%',
- 'resource_access' => 'All',
- ];
-
- $this->_data['Administrators'] = [
- 'rolename' => 'Administrators',
- 'resource_access' => 'All',
- 'role_id' => 1,
- ];
-
- $this->_data['role_sales'] = [
- 'rolename' => 'RoleName%isolation%',
- 'resource_access' => 'Custom',
- 'roles_resources' => [
- 'Sales' => 'Magento_Sales::sales',
- 'Operation' => 'Magento_Sales::sales_operation',
- 'Actions' => 'Magento_Sales::actions',
- 'Orders' => 'Magento_Sales::sales_order',
- 'Create' => 'Magento_Sales::create',
- 'View' => 'Magento_Sales::actions_view',
- 'Send Order Email' => 'Magento_Sales::email',
- 'Reorder' => 'Magento_Sales::reorder',
- 'Edit' => 'Magento_Sales::actions_edit',
- 'Cancel' => 'Magento_Sales::cancel',
- 'Accept or Deny Payment' => 'Magento_Sales::review_payment',
- 'Capture' => 'Magento_Sales::capture',
- 'Invoice' => 'Magento_Sales::invoice',
- 'Credit Memos' => 'Magento_Sales::creditmemo',
- 'Hold' => 'Magento_Sales::hold',
- 'Unhold' => 'Magento_Sales::unhold',
- 'Ship' => 'Magento_Sales::ship',
- 'Comment' => 'Magento_Sales::comment',
- 'Send Sales Emails' => 'Magento_Sales::emails',
- ],
- ];
- }
-}
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Repository/AdminUserRole.xml b/dev/tests/functional/tests/app/Magento/User/Test/Repository/AdminUserRole.xml
new file mode 100644
index 0000000000000..d1eae7f24d3d3
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Repository/AdminUserRole.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+ RoleName%isolation%
+ All
+
+
+
+ Administrators
+ All
+ 1
+
+
+
+ RoleName%isolation%
+ Custom
+
+ - 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
+
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Repository/User.php b/dev/tests/functional/tests/app/Magento/User/Test/Repository/User.php
deleted file mode 100644
index a8098084f2be4..0000000000000
--- a/dev/tests/functional/tests/app/Magento/User/Test/Repository/User.php
+++ /dev/null
@@ -1,63 +0,0 @@
-create('Magento\Mtf\System\Config');
- $superAdminPassword = $systemConfig->getConfigParam('application/backend_user_credentials/password');
- $this->_data['default'] = [
- 'username' => 'admin',
- 'firstname' => 'FirstName%isolation%',
- 'lastname' => 'LastName%isolation%',
- 'email' => 'email%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'user_id' => 1,
- 'current_password' => $superAdminPassword,
- ];
-
- $this->_data['custom_admin'] = [
- 'username' => 'AdminUser%isolation%',
- 'firstname' => 'FirstName%isolation%',
- 'lastname' => 'LastName%isolation%',
- 'email' => 'email%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'current_password' => $superAdminPassword,
- ];
-
- $this->_data['custom_admin_with_default_role'] = [
- 'username' => 'AdminUser%isolation%',
- 'firstname' => 'FirstName%isolation%',
- 'lastname' => 'LastName%isolation%',
- 'email' => 'email%isolation%@example.com',
- 'password' => '123123q',
- 'password_confirmation' => '123123q',
- 'role_id' => ['dataSet' => 'default'],
- 'current_password' => $superAdminPassword,
- 'is_active' => 'Active',
- ];
- }
-}
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
new file mode 100644
index 0000000000000..d91db93cf7061
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Repository/User.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+ admin
+ FirstName%isolation%
+ LastName%isolation%
+ email%isolation%@example.com
+ 123123q
+ 123123q
+ 1
+ %current_password%
+
+
+
+ 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
+
+ - default
+
+ %current_password%
+ Active
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest/test.csv
index 178ac7b96f4ca..9cfc5494ac9b7 100644
--- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest/test.csv
+++ b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest/test.csv
@@ -1,7 +1,7 @@
"user/data/username";"user/data/firstname";"user/data/lastname";"user/data/email";"user/data/password";"user/data/password_confirmation";"user/data/is_active";"user/data/role_id/dataSet";"isDuplicated";"constraint";"user/data/current_password"
-"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.com";"123123q";"123123q";"Active";"Administrators";"-";"assertUserSuccessSaveMessage, assertUserInGrid, assertUserSuccessLogOut, assertUserSuccessLogin"; "123123q"
-"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.com";"123123q";"123123q";"Inactive";"Administrators";"-";"assertUserSuccessSaveMessage, assertUserInGrid, assertUserSuccessLogOut, assertUserWrongCredentialsMessage"; "123123q"
-"-";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.com";"123123q";"123123q";"Active";"Administrators";"username";"assertUserDuplicateMessage"; "123123q"
-"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"-";"123123q";"123123q";"Active";"Administrators";"email";"assertUserDuplicateMessage"; "123123q"
-"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.com";"123123q";"123123q";"Active";"-";"-";"assertUserSuccessSaveMessage, assertUserInGrid, assertUserSuccessLogOut, assertUserWrongCredentialsMessage"; "123123q"
-"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.cim";"123123q";"123123q";"Active";"-";"-";"assertUserInvalidEmailMessage"; "123123q"
+"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.com";"123123q";"123123q";"Active";"Administrators";"-";"assertUserSuccessSaveMessage, assertUserInGrid, assertUserSuccessLogOut, assertUserSuccessLogin"; "%current_password%"
+"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.com";"123123q";"123123q";"Inactive";"Administrators";"-";"assertUserSuccessSaveMessage, assertUserInGrid, assertUserSuccessLogOut, assertUserWrongCredentialsMessage"; "%current_password%"
+"-";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.com";"123123q";"123123q";"Active";"Administrators";"username";"assertUserDuplicateMessage"; "%current_password%"
+"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"-";"123123q";"123123q";"Active";"Administrators";"email";"assertUserDuplicateMessage"; "%current_password%"
+"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.com";"123123q";"123123q";"Active";"-";"-";"assertUserSuccessSaveMessage, assertUserInGrid, assertUserSuccessLogOut, assertUserWrongCredentialsMessage"; "%current_password%"
+"AdminUser%isolation%";"FirstName%isolation%";"LastName%isolation%";"email%isolation%@example.cim";"123123q";"123123q";"Active";"-";"-";"assertUserInvalidEmailMessage"; "%current_password%"
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
index 0a357e3bc1411..e5d8c6b54b072 100644
--- 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
@@ -6,6 +6,6 @@
*/
-->
-
-
+
+
\ No newline at end of file
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
new file mode 100644
index 0000000000000..0d8ed3cbdea01
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Usps/Test/Repository/ConfigData.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ 0
+
+
+
+ 1
+ http://production.shippingapis.com/ShippingAPI.dll
+ https://secure.shippingapis.com/ShippingAPI.dll
+ CARRIERS_USPS_USERID
+ CARRIERS_USPS_PASSWORD
+
+
+
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
new file mode 100644
index 0000000000000..fc5f6a9b8d853
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart.php
@@ -0,0 +1,45 @@
+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',
+ ['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
new file mode 100644
index 0000000000000..0fc733bb291d1
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/CartItem.php
@@ -0,0 +1,56 @@
+blockFactory->create(
+ 'Magento\Weee\Test\Block\Cart\CartItem\Fpt',
+ ['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',
+ ['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
new file mode 100644
index 0000000000000..da370aa92d9d0
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/CartItem/Fpt.php
@@ -0,0 +1,75 @@
+_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
new file mode 100644
index 0000000000000..b91c0eb4b826d
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/Totals.php
@@ -0,0 +1,35 @@
+blockFactory->create(
+ 'Magento\Weee\Test\Block\Cart\Totals\Fpt',
+ ['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
new file mode 100644
index 0000000000000..f2b679fd9e2d1
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/Totals/Fpt.php
@@ -0,0 +1,46 @@
+_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/Fpt.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/Fpt.php
new file mode 100644
index 0000000000000..4bc5d318fab1e
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/Fpt.php
@@ -0,0 +1,50 @@
+ [
+ 'selector' => '[class="weee"] .price',
+ ],
+ 'weee_total' => [
+ 'selector' => '[class="weee"] [data-label="Total"] .price',
+ ],
+ ];
+
+ /**
+ * Get fpt
+ *
+ * @param string $currency
+ * @return string
+ */
+ public function getFpt($currency = '$')
+ {
+ return $this->getTypePrice('weee', $currency);
+ }
+
+ /**
+ * Get fpt total
+ *
+ * @param string $currency
+ * @return string
+ */
+ public function getFptTotal($currency = '$')
+ {
+ return $this->getTypePrice('weee_total', $currency);
+ }
+}
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
new file mode 100644
index 0000000000000..bba6bbcdf6474
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/ListProduct.php
@@ -0,0 +1,39 @@
+getProductDetailsElement($productName)
+ ->find(sprintf($this->fptBlockClass, $fptLabel), Locator::SELECTOR_CSS);
+ return $this->blockFactory->create(
+ 'Magento\Weee\Test\Block\Product\Fpt',
+ ['element' => $element]
+ );
+ }
+}
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
new file mode 100644
index 0000000000000..1fd1a7814e335
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/View.php
@@ -0,0 +1,36 @@
+blockFactory->create(
+ 'Magento\Weee\Test\Block\Product\Fpt',
+ ['element' => $this->_rootElement->find(sprintf($this->fptBlock, $fptLabel), Locator::SELECTOR_CSS)]
+ );
+ }
+}
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
new file mode 100644
index 0000000000000..579f0972482d3
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Constraint/AssertFptApplied.php
@@ -0,0 +1,197 @@
+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 = [];
+ $productName = $product->getName();
+ // Get prices with fpt on category page
+ $this->cmsIndex->open();
+ $this->cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
+ $actualPrices = $this->getCategoryPrice($productName, $actualPrices);
+ // Get prices with fpt on product page
+ $this->catalogCategoryView->getListProductBlock()->openProductViewPage($productName);
+ $actualPrices = $this->addToCart($product, $actualPrices);
+ // Get prices with fpt on cart page
+ $actualPrices = $this->getCartPrice($product, $actualPrices);
+
+ return $actualPrices;
+ }
+
+ /**
+ * Get prices on category page
+ *
+ * @param string $productName
+ * @param array $actualPrices
+ * @return array
+ */
+ protected function getCategoryPrice($productName, $actualPrices)
+ {
+ $productBlock = $this->catalogCategoryView->getListProductBlock();
+ $actualPrices['category_price'] = $productBlock->getProductPriceBlock($productName)->getEffectivePrice();
+ $productWeeeBlock = $this->catalogCategoryView->getWeeeListProductBlock();
+ $actualPrices['fpt_category'] = $productWeeeBlock->getProductFptBlock($productName, $this->fptLabel)->getFpt();
+ $actualPrices['fpt_total_category'] = $productWeeeBlock->getProductFptBlock($productName, $this->fptLabel)
+ ->getFptTotal();
+
+ 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();
+ $viewBlock->fillOptions($product);
+ $actualPrices['product_page_price'] = $viewBlock->getPriceBlock()->getEffectivePrice();
+ $viewWeeeBlock = $this->catalogProductView->getWeeeViewBlock();
+ $actualPrices['product_page_fpt'] = $viewWeeeBlock->getFptBlock($this->fptLabel)->getFpt();
+ $actualPrices['product_page_fpt_total'] = $viewWeeeBlock->getFptBlock($this->fptLabel)->getFptTotal();
+ $viewBlock->clickAddToCart();
+
+ return $actualPrices;
+ }
+
+ /**
+ * Get cart prices
+ *
+ * @param CatalogProductSimple $product
+ * @param array $actualPrices
+ * @return array
+ */
+ protected function getCartPrice(CatalogProductSimple $product, array $actualPrices)
+ {
+ $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['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
new file mode 100644
index 0000000000000..760db37436371
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Page/Category/CatalogCategoryView.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Magento\Weee\Test\Block\Product\ListProduct
+ .products.wrapper.grid
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..a68ece8253c24
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Page/CheckoutCart.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Magento\Weee\Test\Block\Cart
+ //div[contains(@class, "column main")]
+ xpath
+
+
+ Magento\Weee\Test\Block\Cart\Totals
+ #shopping-cart-totals-table
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..690f5ba4ac2ab
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Page/Product/CatalogProductView.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Magento\Weee\Test\Block\Product\View
+ #maincontent
+ css selector
+
+
+
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
new file mode 100644
index 0000000000000..8472f3bbe08f4
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/Repository/ConfigData.xml
@@ -0,0 +1,139 @@
+
+
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+
+ TOTAL_BASE_CALCULATION
+ 0
+ 0
+ 1
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 1
+ 1
+
+
+
+ TOTAL_BASE_CALCULATION
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+ TOTAL_BASE_CALCULATION
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 1
+ 1
+
+
+
+ TOTAL_BASE_CALCULATION
+ 1
+ 1
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+ TOTAL_BASE_CALCULATION
+ 0
+ 0
+ 1
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 0
+ 1
+
+
+
+ TOTAL_BASE_CALCULATION
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 2
+ 2
+ 2
+ 0
+ 1
+
+
+
+ TOTAL_BASE_CALCULATION
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 0
+ 1
+
+
+
+ TOTAL_BASE_CALCULATION
+ 1
+ 1
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 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
new file mode 100644
index 0000000000000..7a23a2d49ca3d
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest.php
@@ -0,0 +1,143 @@
+ 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 > Product Template.
+ * 11. Add new product template 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 product template.
+ * 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_(CS)
+ * @ZephyrId MAGETWO-29551
+ */
+class CreateTaxWithFptTest extends Injectable
+{
+ /* tags */
+ const MVP = 'no';
+ const DOMAIN = 'CS';
+ /* 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('customerInjectable', ['dataSet' => 'johndoe_with_addresses']);
+ $customer->persist();
+ $taxRule = $fixtureFactory->createByCode('taxRule', ['dataSet' => 'tax_rule_default']);
+ $taxRule->persist();
+ $productTemplate = $this->fixtureFactory
+ ->createByCode('catalogAttributeSet', ['dataSet' => 'custom_attribute_set_with_fpt']);
+ $productTemplate->persist();
+ return [
+ 'customer' => $customer,
+ 'productTemplate' => $productTemplate
+ ];
+ }
+
+ /**
+ * Login customer.
+ *
+ * @param CustomerInjectable $customer
+ * @return void
+ */
+ protected function loginCustomer(CustomerInjectable $customer)
+ {
+ $this->objectManager->create(
+ 'Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep',
+ ['customer' => $customer]
+ )->run();
+ }
+
+ /**
+ * Test product prices with tax.
+ *
+ * @param string $configData
+ * @param CustomerInjectable $customer
+ * @param CatalogAttributeSet $productTemplate
+ * @param array $productData
+ * @return array
+ */
+ public function test(
+ $productData,
+ $configData,
+ CustomerInjectable $customer,
+ CatalogAttributeSet $productTemplate
+ ) {
+ $product = $this->fixtureFactory->createByCode(
+ 'catalogProductSimple',
+ ['dataSet' => $productData, 'data' => ['attribute_set_id' => ['attribute_set' => $productTemplate]]]
+ );
+ $product->persist();
+ $this->objectManager->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => $configData]
+ )->run();
+ $this->loginCustomer($customer);
+ return ['product' => $product];
+ }
+
+ /**
+ * Tear down after tests.
+ *
+ * @return void
+ */
+ public function tearDown()
+ {
+ $this->objectManager->create('\Magento\Tax\Test\TestStep\DeleteAllTaxRulesStep')->run();
+ $this->objectManager->create(
+ 'Magento\Core\Test\TestStep\SetupConfigurationStep',
+ ['configData' => 'default_tax_configuration,shipping_tax_class_taxable_goods_rollback']
+ )->run();
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest/test.csv b/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest/test.csv
new file mode 100644
index 0000000000000..f24d1f7af97e0
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest/test.csv
@@ -0,0 +1,12 @@
+"description";"configData";"productData";"prices/category_price";"prices/fpt_category";"prices/fpt_total_category";"prices/product_page_price";"prices/product_page_fpt";"prices/product_page_fpt_total";"prices/cart_item_price";"prices/cart_item_fpt";"prices/cart_item_fpt_total";"prices/cart_item_subtotal";"prices/cart_item_subtotal_fpt";"prices/cart_item_subtotal_fpt_total";"prices/grand_total";"prices/total_fpt";"constraint"
+"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";"118.25";"10.00";"assertFptApplied"
+"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";"80.00";"10.00";"";"100.00";"10.00";"";"110.00";"10.00";"";"110.00";"10.00";"";"118.25";"10.00";"assertFptApplied"
+"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";"110.00";"10.00";"";"110.00";"10.00";"";"110.00";"10.00";"";"110.00";"10.00";"";"118.25";"10.00";"assertFptApplied"
+"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";"118.25";"10.00";"assertFptApplied"
+"Check taxed FPT display set to Excluding, Description and Including FPT on product with 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";"119.08";"10.00";"assertFptApplied"
+"Check taxed FPT display set to Including FPT and Description on product with 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";"80.00";"10.00";"";"100.00";"10.00";"";"110.00";"10.00";"";"110.00";"10.00";"";"119.08";"10.00";"assertFptApplied"
+"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";"110.00";"10.00";"";"110.00";"10.00";"";"110.00";"10.00";"";"110.00";"10.00";"";"119.08";"10.00";"assertFptApplied"
+"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";"119.08";"10.00";"assertFptApplied"
+"Check taxed FPT display set to Excluding, Description and Including FPT on product with 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";"82.38";"10.00";"92.38";"82.38";"10.00";"92.38";"92.38";"9.24";"101.62";"92.38";"9.24";"101.62";"110.00";"10.00";"assertFptApplied"
+"Check taxed FPT display set to Including FPT and Description on product with with special price and catalog price Including Tax";"shipping_tax_class_taxable_goods,tax_with_fpt_taxed_cat_incl_disc_on_incl, display_including_tax";"with_special_price_and_fpt";"92.38";"10.00";"";"92.38";"10.00";"";"101.62";"9.24";"";"101.62";"9.24";"";"110.00";"10.00";"assertFptApplied"
+"Check taxed FPT display set to Excluding, Description and Including FPT on product with 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";"54.67";"10.00";"64.67";"82.38";"10.00";"92.38";"92.38";"9.24";"101.62";"92.38";"9.24";"101.62";"110.00";"10.00";"assertFptApplied"
diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/etc/constraint.xml b/dev/tests/functional/tests/app/Magento/Weee/Test/etc/constraint.xml
new file mode 100644
index 0000000000000..78372ae91b49b
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Weee/Test/etc/constraint.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ high
+
+
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
new file mode 100644
index 0000000000000..b5a860011a096
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest.php
@@ -0,0 +1,65 @@
+persist();
+
+ return ['customer' => $customer];
+ }
+
+ /**
+ * Run Add Product To Wishlist test
+ *
+ * @param CustomerInjectable $customer
+ * @param string $product
+ * @return array
+ */
+ public function test(CustomerInjectable $customer, $product)
+ {
+ $this->markTestIncomplete('Bug: MAGETWO-32813');
+ $product = $this->createProducts($product)[0];
+
+ // Steps:
+ $this->loginCustomer($customer);
+ $this->addToWishlist([$product], true);
+
+ return ['product' => $product];
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest/test.csv b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest/test.csv
new file mode 100644
index 0000000000000..92def772d1f25
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest/test.csv
@@ -0,0 +1,8 @@
+"product";"constraint"
+"catalogProductSimple::default";"assertAddProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertProductIsPresentInCustomerBackendWishlist"
+"catalogProductVirtual::default";"assertAddProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertProductIsPresentInCustomerBackendWishlist"
+"downloadableProductInjectable::with_two_separately_links";"assertAddProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertProductIsPresentInCustomerBackendWishlist"
+"groupedProductInjectable::three_simple_products";"assertAddProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertProductIsPresentInCustomerBackendWishlist"
+"configurableProductInjectable::default";"assertAddProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertProductIsPresentInCustomerBackendWishlist"
+"bundleProduct::bundle_dynamic_product";"assertAddProductToWishlistSuccessMessage, assertProductDetailsInWishlist, assertProductIsPresentInCustomerBackendWishlist"
+"bundleProduct::bundle_fixed_product";"assertAddProductToWishlistSuccessMessage, assertProductDetailsInWishlist, assertProductIsPresentInCustomerBackendWishlist"
\ No newline at end of file
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
new file mode 100644
index 0000000000000..dc3dbf9f69ad2
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductsToCartFromCustomerWishlistOnFrontendTest.php
@@ -0,0 +1,93 @@
+ My Wishlist
+ * 2. Fill qty and update wish list
+ * 3. Click "Add to Cart"
+ * 4. Perform asserts
+ *
+ * @group Wishlist_(CS)
+ * @ZephyrId MAGETWO-25268
+ */
+class AddProductsToCartFromCustomerWishlistOnFrontendTest extends AbstractWishlistTest
+{
+ /* tags */
+ const MVP = 'no';
+ const DOMAIN = 'CS';
+ /* end tags */
+
+ /**
+ * Run suggest searching result test
+ *
+ * @param CustomerInjectable $customer
+ * @param string $products
+ * @param int $qty
+ * @return array
+ */
+ public function test(CustomerInjectable $customer, $products, $qty)
+ {
+ // Preconditions
+ $customer->persist();
+ $this->loginCustomer($customer);
+ $products = $this->createProducts($products);
+ $this->addToWishlist($products);
+
+ // Steps
+ $this->addToCart($products, $qty);
+
+ // 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
+ * @return void
+ */
+ protected function addToCart(array $products, $qty)
+ {
+ foreach ($products as $product) {
+ $this->cmsIndex->getLinksBlock()->openLink("My Wish List");
+ if ($qty != '-') {
+ $this->wishlistIndex->getItemsBlock()->getItemProduct($product)->fillProduct(['qty' => $qty]);
+ $this->wishlistIndex->getWishlistBlock()->clickUpdateWishlist();
+ }
+ $this->wishlistIndex->getItemsBlock()->getItemProduct($product)->clickAddToCart();
+ if ($this->wishlistIndex->getItemsBlock()->isVisible()) {
+ $this->catalogProductView->getViewBlock()->addToCart($product);
+ }
+ }
+ }
+
+ /**
+ * 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/test.csv b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductsToCartFromCustomerWishlistOnFrontendTest/test.csv
new file mode 100644
index 0000000000000..4ced4df743d7e
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductsToCartFromCustomerWishlistOnFrontendTest/test.csv
@@ -0,0 +1,9 @@
+"products";"qty";"constraint"
+"catalogProductSimple::product_100_dollar";"2";"assertProductQtyInShoppingCart, assertProductsIsAbsentInWishlist"
+"catalogProductVirtual::product_50_dollar";"1";"assertProductQtyInShoppingCart, assertProductsIsAbsentInWishlist"
+"catalogProductSimple::default,catalogProductVirtual::product_50_dollar,catalogProductSimple::default,catalogProductVirtual::product_50_dollar";"-";"assertProductQtyInShoppingCart, assertWishlistIsEmpty"
+"groupedProductInjectable::three_simple_products";"-";"assertProductQtyInShoppingCart, assertProductsIsAbsentInWishlist"
+"downloadableProductInjectable::with_two_separately_links";"-";"assertProductQtyInShoppingCart, assertProductsIsAbsentInWishlist"
+"configurableProductInjectable::default";"3";"assertProductQtyInShoppingCart, assertProductsIsAbsentInWishlist"
+"bundleProduct::bundle_dynamic_product";"2";"assertProductQtyInShoppingCart, assertProductsIsAbsentInWishlist"
+"bundleProduct::bundle_fixed_product";"2";"assertProductQtyInShoppingCart, assertProductsIsAbsentInWishlist"
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
new file mode 100644
index 0000000000000..27407c6718fd7
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest.php
@@ -0,0 +1,86 @@
+ 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_(CS)
+ * @ZephyrId MAGETWO-29257
+ */
+class ConfigureProductInCustomerWishlistOnBackendTest extends AbstractWishlistTest
+{
+ /* tags */
+ const MVP = 'no';
+ const DOMAIN = 'CS';
+ /* end tags */
+
+ /**
+ * Prepare data
+ *
+ * @param CustomerInjectable $customer
+ * @return array
+ */
+ public function __prepare(CustomerInjectable $customer)
+ {
+ $customer->persist();
+
+ return ['customer' => $customer];
+ }
+
+ /**
+ * Configure customer wish list on backend
+ *
+ * @param CustomerInjectable $customer
+ * @param string $product
+ * @param CustomerIndex $customerIndex
+ * @param CustomerIndexEdit $customerIndexEdit
+ * @return array
+ */
+ public function test(
+ CustomerInjectable $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');
+ $customerForm->getTabElement('wishlist')->getSearchGridBlock()->searchAndAction(
+ ['product_name' => $product->getName()],
+ 'Configure'
+ );
+ $customerIndexEdit->getConfigureProductBlock()->configProduct($product);
+
+ return['product' => $product];
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest/test.csv b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest/test.csv
new file mode 100644
index 0000000000000..740881766b87f
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest/test.csv
@@ -0,0 +1,6 @@
+"product";"constraint"
+"catalogProductSimple::with_two_custom_option";"assertProductInCustomerWishlistOnBackendGrid"
+"configurableProductInjectable::default";"assertConfigurableProductInCustomerWishlistOnBackendGrid"
+"bundleProduct::bundle_dynamic_product";"assertBundleProductInCustomerWishlistOnBackendGrid"
+"downloadableProductInjectable::with_two_separately_links";"assertDownloadableProductInCustomerWishlistOnBackendGrid"
+"groupedProductInjectable::three_simple_products";"assertGroupedProductInCustomerWishlistOnBackendGrid"
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
new file mode 100644
index 0000000000000..61cd85e971fe5
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest.php
@@ -0,0 +1,72 @@
+persist();
+
+ return ['customer' => $customer];
+ }
+
+ /**
+ * Configure customer wish list on frontend
+ *
+ * @param CustomerInjectable $customer
+ * @param string $product
+ * @return array
+ */
+ public function test(CustomerInjectable $customer, $product)
+ {
+ $this->markTestIncomplete('Bug: MAGETWO-32815');
+ // Preconditions
+ $product = $this->createProducts($product)[0];
+ $this->loginCustomer($customer);
+ $this->addToWishlist([$product]);
+
+ // Steps
+ $this->cmsIndex->getLinksBlock()->openLink('My Wish List');
+ $this->wishlistIndex->getItemsBlock()->getItemProduct($product)->clickEdit();
+ $this->catalogProductView->getViewBlock()->addToWishlist($product);
+
+ return ['product' => $product];
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest/test.csv b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest/test.csv
new file mode 100644
index 0000000000000..7b192fe4280b0
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest/test.csv
@@ -0,0 +1,6 @@
+"product";"constraint"
+"catalogProductSimple::with_two_custom_option";"assertProductIsPresentInWishlist, assertProductDetailsInWishlist"
+"configurableProductInjectable::default";"assertProductIsPresentInWishlist, assertProductDetailsInWishlist"
+"bundleProduct::bundle_dynamic_product";"assertProductIsPresentInWishlist, assertProductDetailsInWishlist"
+"downloadableProductInjectable::with_two_separately_links";"assertProductIsPresentInWishlist, assertProductDetailsInWishlist"
+"groupedProductInjectable::three_simple_products";"assertProductIsPresentInWishlist, assertProductDetailsInWishlist"
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
new file mode 100644
index 0000000000000..c2791aa183991
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest.php
@@ -0,0 +1,83 @@
+ All Customers
+ * 3. Open the customer
+ * 4. Open wishlist tab
+ * 5. Click 'Delete'
+ * 6. Perform assertions
+ *
+ * @group Wishlist_(CS)
+ * @ZephyrId MAGETWO-27813
+ */
+class DeleteProductFromCustomerWishlistOnBackendTest extends AbstractWishlistTest
+{
+ /* tags */
+ const MVP = 'no';
+ const DOMAIN = 'CS';
+ /* end tags */
+
+ /**
+ * Prepare data
+ *
+ * @param CustomerInjectable $customer
+ * @return array
+ */
+ public function __prepare(CustomerInjectable $customer)
+ {
+ $customer->persist();
+
+ return ['customer' => $customer];
+ }
+
+ /**
+ * Delete product from customer wishlist on backend
+ *
+ * @param CustomerInjectable $customer
+ * @param string $product
+ * @param CustomerIndex $customerIndex
+ * @param CustomerIndexEdit $customerIndexEdit
+ * @return array
+ */
+ public function test(
+ CustomerInjectable $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->getTabElement('wishlist')->getSearchGridBlock()->searchAndAction($filter, 'Delete');
+
+ return ['products' => [$product]];
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest/test.csv b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest/test.csv
new file mode 100644
index 0000000000000..de3b53115610c
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest/test.csv
@@ -0,0 +1,3 @@
+"product";"constraint"
+"configurableProductInjectable::default";"assertProductsIsAbsentInWishlist"
+"catalogProductSimple::simple_for_composite_products";"assertProductsIsAbsentInWishlist"
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
new file mode 100644
index 0000000000000..86d61f27b5c51
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest.php
@@ -0,0 +1,81 @@
+ My Wishlist
+ * 4. Click "Remove item"
+ * 5. Perform all assertions
+ *
+ * @group Wishlist_(CS)
+ * @ZephyrId MAGETWO-28874
+ */
+class DeleteProductsFromWishlistOnFrontendTest extends AbstractWishlistTest
+{
+ /* tags */
+ const MVP = 'no';
+ const DOMAIN = 'CS';
+ /* end tags */
+
+ /**
+ * Delete products form default wish list
+ *
+ * @param CustomerInjectable $customer
+ * @param string $products
+ * @param string $removedProductsIndex [optional]
+ * @return array
+ */
+ public function test(CustomerInjectable $customer, $products, $removedProductsIndex = null)
+ {
+ // 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 string $removedProductsIndex
+ * @return array
+ */
+ protected function removeProducts(array $products, $removedProductsIndex)
+ {
+ $removeProducts = [];
+ if ($removedProductsIndex) {
+ $removedProductsIndex = explode(',', $removedProductsIndex);
+ foreach ($removedProductsIndex as $index) {
+ $this->wishlistIndex->getItemsBlock()->getItemProduct($products[--$index])->remove();
+ $removeProducts[] = $products[$index];
+ }
+ } else {
+ $this->wishlistIndex->getItemsBlock()->removeAllProducts();
+ $removeProducts = $products;
+ }
+
+ return $removeProducts;
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest/test.csv b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest/test.csv
new file mode 100644
index 0000000000000..b516c80b40710
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest/test.csv
@@ -0,0 +1,9 @@
+"products";"removedProductsIndex";"constraint"
+"catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar";"1";"assertProductsIsAbsentInWishlist"
+"catalogProductVirtual::product_50_dollar";"1";"assertWishlistIsEmpty"
+"catalogProductSimple::default,catalogProductVirtual::product_50_dollar,catalogProductSimple::default,catalogProductVirtual::product_50_dollar";"";"assertWishlistIsEmpty"
+"bundleProduct::bundle_dynamic_product";"1";"assertWishlistIsEmpty"
+"bundleProduct::bundle_fixed_product";"1";"assertWishlistIsEmpty"
+"configurableProductInjectable::default";"1";"assertWishlistIsEmpty"
+"downloadableProductInjectable::with_two_separately_links";"1";"assertWishlistIsEmpty"
+"groupedProductInjectable::three_simple_products";"1";"assertWishlistIsEmpty"
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
new file mode 100644
index 0000000000000..4446df6cc863d
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest.php
@@ -0,0 +1,90 @@
+persist();
+
+ return ['customer' => $customer];
+ }
+
+ /**
+ * Run Move from ShoppingCard to Wishlist test
+ *
+ * @param CustomerInjectable $customer
+ * @param string $product
+ * @param AssertAddedProductToCartSuccessMessage $assertAddedProductToCartSuccessMessage
+ * @param CheckoutCart $checkoutCart
+ * @return array
+ */
+ public function test(
+ CustomerInjectable $customer,
+ $product,
+ AssertAddedProductToCartSuccessMessage $assertAddedProductToCartSuccessMessage,
+ CheckoutCart $checkoutCart
+ ) {
+ // Preconditions:
+ $product = $this->createProducts($product)[0];
+ $this->loginCustomer($customer);
+
+ // Steps:
+ $this->addToCart($product);
+ $assertAddedProductToCartSuccessMessage->processAssert($checkoutCart, $product);
+ $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',
+ ['products' => [$product]]
+ );
+ $addProductsToTheCartStep->run();
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest/test.csv b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest/test.csv
new file mode 100644
index 0000000000000..d330b2779a670
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest/test.csv
@@ -0,0 +1,7 @@
+"product";"constraint"
+"catalogProductSimple::default";"assertMoveProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertCartIsEmpty"
+"catalogProductVirtual::default";"assertMoveProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertCartIsEmpty"
+"downloadableProductInjectable::with_two_separately_links";"assertMoveProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertCartIsEmpty, assertProductDetailsInWishlist"
+"configurableProductInjectable::default";"assertMoveProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertCartIsEmpty, assertProductDetailsInWishlist"
+"bundleProduct::bundle_dynamic_product";"assertMoveProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertCartIsEmpty, assertProductDetailsInWishlist"
+"bundleProduct::bundle_fixed_product";"assertMoveProductToWishlistSuccessMessage, assertProductIsPresentInWishlist, assertCartIsEmpty, assertProductDetailsInWishlist"
\ No newline at end of file
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
new file mode 100644
index 0000000000000..4e81a9f6e53d2
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest.php
@@ -0,0 +1,78 @@
+ All Customers.
+ * 3. Search and open customer.
+ * 4. Open wish list tab.
+ * 5. Perform assertions.
+ *
+ * @group Wishlist_(CS)
+ * @ZephyrId MAGETWO-29616
+ */
+class ViewProductInCustomerWishlistOnBackendTest extends AbstractWishlistTest
+{
+ /* tags */
+ const MVP = 'no';
+ const DOMAIN = 'CS';
+ /* end tags */
+
+ /**
+ * Prepare customer for test.
+ *
+ * @param CustomerInjectable $customer
+ * @return array
+ */
+ public function __prepare(CustomerInjectable $customer)
+ {
+ $customer->persist();
+
+ return ['customer' => $customer];
+ }
+
+ /**
+ * Configure customer wish list on backend.
+ *
+ * @param CustomerInjectable $customer
+ * @param string $product
+ * @param CustomerIndex $customerIndex
+ * @param CustomerIndexEdit $customerIndexEdit
+ * @return array
+ */
+ public function test(
+ CustomerInjectable $customer,
+ $product,
+ CustomerIndex $customerIndex,
+ CustomerIndexEdit $customerIndexEdit
+ ) {
+ // Preconditions
+ $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];
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest/test.csv b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest/test.csv
new file mode 100644
index 0000000000000..740881766b87f
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest/test.csv
@@ -0,0 +1,6 @@
+"product";"constraint"
+"catalogProductSimple::with_two_custom_option";"assertProductInCustomerWishlistOnBackendGrid"
+"configurableProductInjectable::default";"assertConfigurableProductInCustomerWishlistOnBackendGrid"
+"bundleProduct::bundle_dynamic_product";"assertBundleProductInCustomerWishlistOnBackendGrid"
+"downloadableProductInjectable::with_two_separately_links";"assertDownloadableProductInCustomerWishlistOnBackendGrid"
+"groupedProductInjectable::three_simple_products";"assertGroupedProductInCustomerWishlistOnBackendGrid"
diff --git a/dev/tests/functional/utils/generate.php b/dev/tests/functional/utils/generate.php
index 7aa9b91f0f939..f3b422ba46b6b 100644
--- a/dev/tests/functional/utils/generate.php
+++ b/dev/tests/functional/utils/generate.php
@@ -5,13 +5,21 @@
*/
require_once dirname(__FILE__) . '/' . 'bootstrap.php';
-$objectManager->create('Magento\Mtf\Util\Generate\TestCase')->launch();
+// Generate page
$objectManager->create('Magento\Mtf\Util\Generate\Page')->launch();
-$objectManager->create('Magento\Mtf\Util\Generate\Fixture')->launch();
-$objectManager->create('Magento\Mtf\Util\Generate\Constraint')->launch();
-$objectManager->create('Magento\Mtf\Util\Generate\Handler')->launch();
-$objectManager->get('Magento\Framework\App\State')->setAreaCode('frontend');
-$objectManager->create('Magento\Mtf\Util\Generate\Repository')->launch();
+// Generate fixtures
+$magentoObjectManagerFactory = \Magento\Framework\App\Bootstrap::createObjectManagerFactory(BP, $_SERVER);
+$magentoObjectManager = $magentoObjectManagerFactory->create($_SERVER);
+$fieldsProvider = $magentoObjectManager->create('\Magento\Mtf\Util\Generate\Fixture\FieldsProvider');
+$objectManager->create('Magento\Mtf\Util\Generate\Fixture', ['fieldsProvider' => $fieldsProvider])->launch();
+
+// Generate repositories
+$magentoObjectManager->get('Magento\Framework\App\State')->setAreaCode('frontend');
+$collectionProvider = $magentoObjectManager->create('\Magento\Mtf\Util\Generate\Repository\CollectionProvider');
+$objectManager->create('Magento\Mtf\Util\Generate\Repository', ['collectionProvider' => $collectionProvider])->launch();
+
+// Generate factories for old end-to-end tests
+$magentoObjectManager->create('Magento\Mtf\Util\Generate\Factory')->launch();
\Magento\Mtf\Util\Generate\GenerateResult::displayResults();
diff --git a/dev/tests/functional/utils/generate/factory.php b/dev/tests/functional/utils/generate/factory.php
index 05c38495a2d7b..5cbb2fdb36f86 100644
--- a/dev/tests/functional/utils/generate/factory.php
+++ b/dev/tests/functional/utils/generate/factory.php
@@ -3,19 +3,7 @@
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
+require_once dirname(__DIR__) . '/' . 'bootstrap.php';
-$mtfRoot = dirname(dirname(dirname(__FILE__)));
-$mtfRoot = str_replace('\\', '/', $mtfRoot);
-define('MTF_BP', $mtfRoot);
-define('MTF_TESTS_PATH', MTF_BP . '/tests/app/');
-
-require __DIR__ . '/../../../../../app/bootstrap.php';
-require MTF_BP . '/vendor/autoload.php';
-
-$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
-
-$om = $bootstrap->getObjectManager();
-/** @var \Magento\Mtf\Util\Generate\Factory $generator */
-$generator = $om->create('Magento\Mtf\Util\Generate\Factory');
-$generator->launch();
+$objectManager->create('Magento\Mtf\Util\Generate\Factory')->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
index d2e13c07ba655..982286f75f194 100644
--- a/dev/tests/functional/utils/generate/fixture.php
+++ b/dev/tests/functional/utils/generate/fixture.php
@@ -5,5 +5,7 @@
*/
require_once dirname(__DIR__) . '/' . 'bootstrap.php';
-$objectManager->create('Magento\Mtf\Util\Generate\Fixture')->launch();
-\Magento\Mtf\Util\Generate\GenerateResult::displayResults();
+$magentoObjectManagerFactory = \Magento\Framework\App\Bootstrap::createObjectManagerFactory(BP, $_SERVER);
+$magentoObjectManager = $magentoObjectManagerFactory->create($_SERVER);
+$fieldsProvider = $magentoObjectManager->create('\Magento\Mtf\Util\Generate\Fixture\FieldsProvider');
+$objectManager->create('Magento\Mtf\Util\Generate\Fixture', ['fieldsProvider' => $fieldsProvider])->launch();
diff --git a/dev/tests/functional/utils/generate/page.php b/dev/tests/functional/utils/generate/page.php
index f15e030c24c43..5b9370185b767 100644
--- a/dev/tests/functional/utils/generate/page.php
+++ b/dev/tests/functional/utils/generate/page.php
@@ -4,5 +4,6 @@
* See COPYING.txt for license details.
*/
require_once dirname(__DIR__) . '/' . 'bootstrap.php';
+
$objectManager->create('Magento\Mtf\Util\Generate\Page')->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
index 5355cf45e7596..fc204e011c5d6 100644
--- a/dev/tests/functional/utils/generate/repository.php
+++ b/dev/tests/functional/utils/generate/repository.php
@@ -5,6 +5,6 @@
*/
require_once dirname(__DIR__) . '/' . 'bootstrap.php';
-$objectManager->get('Magento\Framework\App\State')->setAreaCode('frontend');
-$objectManager->create('Magento\Mtf\Util\Generate\Repository')->launch();
-\Magento\Mtf\Util\Generate\GenerateResult::displayResults();
+$magentoObjectManager->get('Magento\Framework\App\State')->setAreaCode('frontend');
+$collectionProvider = $magentoObjectManager->create('\Magento\Mtf\Util\Generate\Repository\CollectionProvider');
+$objectManager->create('Magento\Mtf\Util\Generate\Repository', ['collectionProvider' => $collectionProvider])->launch();
diff --git a/lib/internal/Magento/Framework/Test/Utility/Classes.php b/lib/internal/Magento/Framework/Test/Utility/Classes.php
index 88e42800450ef..c8c4e2b3f5065 100644
--- a/lib/internal/Magento/Framework/Test/Utility/Classes.php
+++ b/lib/internal/Magento/Framework/Test/Utility/Classes.php
@@ -273,7 +273,7 @@ public static function resolveVirtualType($className)
public static function isAutogenerated($className)
{
if (preg_match('/.*\\\\[a-zA-Z0-9]{1,}(Factory|Proxy|SearchResults|DataBuilder)$/', $className)
- || preg_match('/^Magento\\\\[\w]+\\\\(Test\\\\Page)\\\\/', $className)
+ || preg_match('/Magento\\\\[\w]+\\\\(Test\\\\(Page|Fixture))\\\\/', $className)
) {
return true;
}