diff --git a/app/code/Magento/Backend/Test/Unit/Model/Config/SessionLifetime/BackendModelTest.php b/app/code/Magento/Backend/Test/Unit/Model/Config/SessionLifetime/BackendModelTest.php index 31a13191750a3b3097e5b05e6392d07ab1a45abe..2f0102ffd410d608da945ec0ec53fd8e65d1aaf7 100755 --- a/app/code/Magento/Backend/Test/Unit/Model/Config/SessionLifetime/BackendModelTest.php +++ b/app/code/Magento/Backend/Test/Unit/Model/Config/SessionLifetime/BackendModelTest.php @@ -20,7 +20,8 @@ class BackendModelTest extends \PHPUnit\Framework\TestCase \Magento\Backend\Model\Config\SessionLifetime\BackendModel::class ); if ($errorMessage !== null) { - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, $errorMessage); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage($errorMessage); } $model->setValue($value); $object = $model->beforeSave(); diff --git a/app/code/Magento/Catalog/Model/Category.php b/app/code/Magento/Catalog/Model/Category.php index 571e4646f46a3d575eab73799a5be7c9dc3bd065..2002722684431cd63b392a7fb7480c30ff3188c3 100644 --- a/app/code/Magento/Catalog/Model/Category.php +++ b/app/code/Magento/Catalog/Model/Category.php @@ -943,8 +943,11 @@ class Category extends \Magento\Catalog\Model\AbstractModel implements */ public function getProductCount() { - $count = $this->_getResource()->getProductCount($this); - $this->setData(self::KEY_PRODUCT_COUNT, $count); + if (!$this->hasData(self::KEY_PRODUCT_COUNT)) { + $count = $this->_getResource()->getProductCount($this); + $this->setData(self::KEY_PRODUCT_COUNT, $count); + } + return $this->getData(self::KEY_PRODUCT_COUNT); } diff --git a/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php b/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php index c7ddb14a7649de19dadd57c25e4f4111e1992585..78fe3042b5f71661f2c77b5bed52d598f2e50586 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php +++ b/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php @@ -8,9 +8,14 @@ namespace Magento\Catalog\Model\Indexer\Category\Product; -use Magento\Framework\DB\Query\Generator as QueryGenerator; +use Magento\Catalog\Api\Data\ProductInterface; +use Magento\Catalog\Model\Product; +use Magento\Framework\App\ObjectManager; use Magento\Framework\App\ResourceConnection; +use Magento\Framework\DB\Query\Generator as QueryGenerator; +use Magento\Framework\DB\Select; use Magento\Framework\EntityManager\MetadataPool; +use Magento\Store\Model\Store; /** * Class AbstractAction @@ -45,21 +50,21 @@ abstract class AbstractAction /** * Cached non anchor categories select by store id * - * @var \Magento\Framework\DB\Select[] + * @var Select[] */ protected $nonAnchorSelects = []; /** * Cached anchor categories select by store id * - * @var \Magento\Framework\DB\Select[] + * @var Select[] */ protected $anchorSelects = []; /** * Cached all product select by store id * - * @var \Magento\Framework\DB\Select[] + * @var Select[] */ protected $productsSelects = []; @@ -119,19 +124,21 @@ abstract class AbstractAction * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param \Magento\Catalog\Model\Config $config * @param QueryGenerator $queryGenerator + * @param MetadataPool|null $metadataPool */ public function __construct( \Magento\Framework\App\ResourceConnection $resource, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Catalog\Model\Config $config, - QueryGenerator $queryGenerator = null + QueryGenerator $queryGenerator = null, + MetadataPool $metadataPool = null ) { $this->resource = $resource; $this->connection = $resource->getConnection(); $this->storeManager = $storeManager; $this->config = $config; - $this->queryGenerator = $queryGenerator ?: \Magento\Framework\App\ObjectManager::getInstance() - ->get(QueryGenerator::class); + $this->queryGenerator = $queryGenerator ?: ObjectManager::getInstance()->get(QueryGenerator::class); + $this->metadataPool = $metadataPool ?: ObjectManager::getInstance()->get(MetadataPool::class); } /** @@ -188,9 +195,9 @@ abstract class AbstractAction */ protected function getMainTmpTable() { - return $this->useTempTable ? $this->getTable( - self::MAIN_INDEX_TABLE . self::TEMPORARY_TABLE_SUFFIX - ) : $this->getMainTable(); + return $this->useTempTable + ? $this->getTable(self::MAIN_INDEX_TABLE . self::TEMPORARY_TABLE_SUFFIX) + : $this->getMainTable(); } /** @@ -218,24 +225,25 @@ abstract class AbstractAction /** * Retrieve select for reindex products of non anchor categories * - * @param \Magento\Store\Model\Store $store - * @return \Magento\Framework\DB\Select + * @param Store $store + * @return Select + * @throws \Exception when metadata not found for ProductInterface */ - protected function getNonAnchorCategoriesSelect(\Magento\Store\Model\Store $store) + protected function getNonAnchorCategoriesSelect(Store $store) { if (!isset($this->nonAnchorSelects[$store->getId()])) { $statusAttributeId = $this->config->getAttribute( - \Magento\Catalog\Model\Product::ENTITY, + Product::ENTITY, 'status' )->getId(); $visibilityAttributeId = $this->config->getAttribute( - \Magento\Catalog\Model\Product::ENTITY, + Product::ENTITY, 'visibility' )->getId(); $rootPath = $this->getPathFromCategoryId($store->getRootCategoryId()); - $metadata = $this->getMetadataPool()->getMetadata(\Magento\Catalog\Api\Data\ProductInterface::class); + $metadata = $this->metadataPool->getMetadata(ProductInterface::class); $linkField = $metadata->getLinkField(); $select = $this->connection->select()->from( ['cc' => $this->getTable('catalog_category_entity')], @@ -304,12 +312,65 @@ abstract class AbstractAction ] ); + $this->addFilteringByChildProductsToSelect($select, $store); + $this->nonAnchorSelects[$store->getId()] = $select; } return $this->nonAnchorSelects[$store->getId()]; } + /** + * Add filtering by child products to select + * + * It's used for correct handling of composite products. + * This method makes assumption that select already joins `catalog_product_entity` as `cpe`. + * + * @param Select $select + * @param Store $store + * @return void + * @throws \Exception when metadata not found for ProductInterface + */ + private function addFilteringByChildProductsToSelect(Select $select, Store $store) + { + $metadata = $this->metadataPool->getMetadata(ProductInterface::class); + $linkField = $metadata->getLinkField(); + + $statusAttributeId = $this->config->getAttribute(Product::ENTITY, 'status')->getId(); + + $select->joinLeft( + ['relation' => $this->getTable('catalog_product_relation')], + 'cpe.' . $linkField . ' = relation.parent_id', + [] + )->joinLeft( + ['relation_product_entity' => $this->getTable('catalog_product_entity')], + 'relation.child_id = relation_product_entity.entity_id', + [] + )->joinLeft( + ['child_cpsd' => $this->getTable('catalog_product_entity_int')], + 'child_cpsd.' . $linkField . ' = '. 'relation_product_entity.' . $linkField + . ' AND child_cpsd.store_id = 0' + . ' AND child_cpsd.attribute_id = ' . $statusAttributeId, + [] + )->joinLeft( + ['child_cpss' => $this->getTable('catalog_product_entity_int')], + 'child_cpss.' . $linkField . ' = '. 'relation_product_entity.' . $linkField . '' + . ' AND child_cpss.attribute_id = child_cpsd.attribute_id' + . ' AND child_cpss.store_id = ' . $store->getId(), + [] + )->where( + 'relation.child_id IS NULL OR ' + . $this->connection->getIfNullSql('child_cpss.value', 'child_cpsd.value') . ' = ?', + \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED + )->group( + [ + 'cc.entity_id', + 'ccp.product_id', + 'visibility' + ] + ); + } + /** * Check whether select ranging is needed * @@ -323,16 +384,13 @@ abstract class AbstractAction /** * Return selects cut by min and max * - * @param \Magento\Framework\DB\Select $select + * @param Select $select * @param string $field * @param int $range - * @return \Magento\Framework\DB\Select[] + * @return Select[] */ - protected function prepareSelectsByRange( - \Magento\Framework\DB\Select $select, - $field, - $range = self::RANGE_CATEGORY_STEP - ) { + protected function prepareSelectsByRange(Select $select, $field, $range = self::RANGE_CATEGORY_STEP) + { if ($this->isRangingNeeded()) { $iterator = $this->queryGenerator->generate( $field, @@ -353,10 +411,10 @@ abstract class AbstractAction /** * Reindex products of non anchor categories * - * @param \Magento\Store\Model\Store $store + * @param Store $store * @return void */ - protected function reindexNonAnchorCategories(\Magento\Store\Model\Store $store) + protected function reindexNonAnchorCategories(Store $store) { $selects = $this->prepareSelectsByRange($this->getNonAnchorCategoriesSelect($store), 'entity_id'); foreach ($selects as $select) { @@ -374,10 +432,10 @@ abstract class AbstractAction /** * Check if anchor select isset * - * @param \Magento\Store\Model\Store $store + * @param Store $store * @return bool */ - protected function hasAnchorSelect(\Magento\Store\Model\Store $store) + protected function hasAnchorSelect(Store $store) { return isset($this->anchorSelects[$store->getId()]); } @@ -385,19 +443,20 @@ abstract class AbstractAction /** * Create anchor select * - * @param \Magento\Store\Model\Store $store - * @return \Magento\Framework\DB\Select + * @param Store $store + * @return Select + * @throws \Exception when metadata not found for ProductInterface or CategoryInterface * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ - protected function createAnchorSelect(\Magento\Store\Model\Store $store) + protected function createAnchorSelect(Store $store) { $isAnchorAttributeId = $this->config->getAttribute( \Magento\Catalog\Model\Category::ENTITY, 'is_anchor' )->getId(); - $statusAttributeId = $this->config->getAttribute(\Magento\Catalog\Model\Product::ENTITY, 'status')->getId(); + $statusAttributeId = $this->config->getAttribute(Product::ENTITY, 'status')->getId(); $visibilityAttributeId = $this->config->getAttribute( - \Magento\Catalog\Model\Product::ENTITY, + Product::ENTITY, 'visibility' )->getId(); $rootCatIds = explode('/', $this->getPathFromCategoryId($store->getRootCategoryId())); @@ -405,12 +464,12 @@ abstract class AbstractAction $temporaryTreeTable = $this->makeTempCategoryTreeIndex(); - $productMetadata = $this->getMetadataPool()->getMetadata(\Magento\Catalog\Api\Data\ProductInterface::class); - $categoryMetadata = $this->getMetadataPool()->getMetadata(\Magento\Catalog\Api\Data\CategoryInterface::class); + $productMetadata = $this->metadataPool->getMetadata(ProductInterface::class); + $categoryMetadata = $this->metadataPool->getMetadata(\Magento\Catalog\Api\Data\CategoryInterface::class); $productLinkField = $productMetadata->getLinkField(); $categoryLinkField = $categoryMetadata->getLinkField(); - return $this->connection->select()->from( + $select = $this->connection->select()->from( ['cc' => $this->getTable('catalog_category_entity')], [] )->joinInner( @@ -492,6 +551,10 @@ abstract class AbstractAction 'visibility' => new \Zend_Db_Expr($this->connection->getIfNullSql('cpvs.value', 'cpvd.value')), ] ); + + $this->addFilteringByChildProductsToSelect($select, $store); + + return $select; } /** @@ -586,10 +649,10 @@ abstract class AbstractAction /** * Retrieve select for reindex products of non anchor categories * - * @param \Magento\Store\Model\Store $store - * @return \Magento\Framework\DB\Select + * @param Store $store + * @return Select */ - protected function getAnchorCategoriesSelect(\Magento\Store\Model\Store $store) + protected function getAnchorCategoriesSelect(Store $store) { if (!$this->hasAnchorSelect($store)) { $this->anchorSelects[$store->getId()] = $this->createAnchorSelect($store); @@ -600,10 +663,10 @@ abstract class AbstractAction /** * Reindex products of anchor categories * - * @param \Magento\Store\Model\Store $store + * @param Store $store * @return void */ - protected function reindexAnchorCategories(\Magento\Store\Model\Store $store) + protected function reindexAnchorCategories(Store $store) { $selects = $this->prepareSelectsByRange($this->getAnchorCategoriesSelect($store), 'entity_id'); @@ -622,22 +685,23 @@ abstract class AbstractAction /** * Get select for all products * - * @param \Magento\Store\Model\Store $store - * @return \Magento\Framework\DB\Select + * @param Store $store + * @return Select + * @throws \Exception when metadata not found for ProductInterface */ - protected function getAllProducts(\Magento\Store\Model\Store $store) + protected function getAllProducts(Store $store) { if (!isset($this->productsSelects[$store->getId()])) { $statusAttributeId = $this->config->getAttribute( - \Magento\Catalog\Model\Product::ENTITY, + Product::ENTITY, 'status' )->getId(); $visibilityAttributeId = $this->config->getAttribute( - \Magento\Catalog\Model\Product::ENTITY, + Product::ENTITY, 'visibility' )->getId(); - $metadata = $this->getMetadataPool()->getMetadata(\Magento\Catalog\Api\Data\ProductInterface::class); + $metadata = $this->metadataPool->getMetadata(ProductInterface::class); $linkField = $metadata->getLinkField(); $select = $this->connection->select()->from( @@ -726,10 +790,10 @@ abstract class AbstractAction /** * Reindex all products to root category * - * @param \Magento\Store\Model\Store $store + * @param Store $store * @return void */ - protected function reindexRootCategory(\Magento\Store\Model\Store $store) + protected function reindexRootCategory(Store $store) { if ($this->isIndexRootCategoryNeeded()) { $selects = $this->prepareSelectsByRange( @@ -750,16 +814,4 @@ abstract class AbstractAction } } } - - /** - * @return \Magento\Framework\EntityManager\MetadataPool - */ - private function getMetadataPool() - { - if (null === $this->metadataPool) { - $this->metadataPool = \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Magento\Framework\EntityManager\MetadataPool::class); - } - return $this->metadataPool; - } } diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Category/Action/Rows.php b/app/code/Magento/Catalog/Model/Indexer/Product/Category/Action/Rows.php index 1b988534328e9971ecc38dec36d294a780a9b79d..99b087691ab09aa0b4b42a655d1efcc3890dfa1b 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Category/Action/Rows.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Category/Action/Rows.php @@ -6,9 +6,19 @@ namespace Magento\Catalog\Model\Indexer\Product\Category\Action; use Magento\Catalog\Model\Category; +use Magento\Catalog\Model\Config; use Magento\Catalog\Model\Product; +use Magento\Framework\App\ObjectManager; +use Magento\Framework\App\ResourceConnection; +use Magento\Framework\DB\Query\Generator as QueryGenerator; +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\Event\ManagerInterface as EventManagerInterface; use Magento\Framework\Indexer\CacheContext; +use Magento\Store\Model\StoreManagerInterface; +/** + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + */ class Rows extends \Magento\Catalog\Model\Indexer\Category\Product\AbstractAction { /** @@ -19,32 +29,102 @@ class Rows extends \Magento\Catalog\Model\Indexer\Category\Product\AbstractActio protected $limitationByProducts; /** - * @var \Magento\Framework\Indexer\CacheContext + * @var CacheContext */ private $cacheContext; + /** + * @var EventManagerInterface|null + */ + private $eventManager; + + /** + * @param ResourceConnection $resource + * @param StoreManagerInterface $storeManager + * @param Config $config + * @param QueryGenerator|null $queryGenerator + * @param MetadataPool|null $metadataPool + * @param CacheContext|null $cacheContext + * @param EventManagerInterface|null $eventManager + */ + public function __construct( + ResourceConnection $resource, + StoreManagerInterface $storeManager, + Config $config, + QueryGenerator $queryGenerator = null, + MetadataPool $metadataPool = null, + CacheContext $cacheContext = null, + EventManagerInterface $eventManager = null + ) { + parent::__construct($resource, $storeManager, $config, $queryGenerator, $metadataPool); + $this->cacheContext = $cacheContext ?: ObjectManager::getInstance()->get(CacheContext::class); + $this->eventManager = $eventManager ?: ObjectManager::getInstance()->get(EventManagerInterface::class); + } + /** * Refresh entities index * * @param int[] $entityIds * @param bool $useTempTable * @return $this + * @throws \Exception if metadataPool doesn't contain metadata for ProductInterface + * @throws \DomainException */ public function execute(array $entityIds = [], $useTempTable = false) { - $this->limitationByProducts = $entityIds; + $idsToBeReIndexed = $this->getProductIdsWithParents($entityIds); + + $this->limitationByProducts = $idsToBeReIndexed; $this->useTempTable = $useTempTable; + $affectedCategories = $this->getCategoryIdsFromIndex($idsToBeReIndexed); + $this->removeEntries(); $this->reindex(); - $this->registerProducts($entityIds); - $this->registerCategories($entityIds); + $affectedCategories = array_merge($affectedCategories, $this->getCategoryIdsFromIndex($idsToBeReIndexed)); + + $this->registerProducts($idsToBeReIndexed); + $this->registerCategories($affectedCategories); + $this->eventManager->dispatch('clean_cache_by_tags', ['object' => $this->cacheContext]); return $this; } + /** + * Get IDs of parent products by their child IDs. + * + * Returns identifiers of parent product from the catalog_product_relation. + * Please note that returned ids don't contain ids of passed child products. + * + * @param int[] $childProductIds + * @return int[] + * @throws \Exception if metadataPool doesn't contain metadata for ProductInterface + * @throws \DomainException + */ + private function getProductIdsWithParents(array $childProductIds) + { + /** @var \Magento\Framework\EntityManager\EntityMetadataInterface $metadata */ + $metadata = $this->metadataPool->getMetadata(\Magento\Catalog\Api\Data\ProductInterface::class); + $fieldForParent = $metadata->getLinkField(); + + $select = $this->connection + ->select() + ->from(['relation' => $this->getTable('catalog_product_relation')], []) + ->distinct(true) + ->where('child_id IN (?)', $childProductIds) + ->join( + ['cpe' => $this->getTable('catalog_product_entity')], + 'relation.parent_id = cpe.' . $fieldForParent, + ['cpe.entity_id'] + ); + + $parentProductIds = $this->connection->fetchCol($select); + + return array_unique(array_merge($childProductIds, $parentProductIds)); + } + /** * Register affected products * @@ -53,26 +133,19 @@ class Rows extends \Magento\Catalog\Model\Indexer\Category\Product\AbstractActio */ private function registerProducts($entityIds) { - $this->getCacheContext()->registerEntities(Product::CACHE_TAG, $entityIds); + $this->cacheContext->registerEntities(Product::CACHE_TAG, $entityIds); } /** * Register categories assigned to products * - * @param array $entityIds + * @param array $categoryIds * @return void */ - private function registerCategories($entityIds) + private function registerCategories(array $categoryIds) { - $categories = $this->connection->fetchCol( - $this->connection->select() - ->from($this->getMainTable(), ['category_id']) - ->where('product_id IN (?)', $entityIds) - ->distinct() - ); - - if ($categories) { - $this->getCacheContext()->registerEntities(Category::CACHE_TAG, $categories); + if ($categoryIds) { + $this->cacheContext->registerEntities(Category::CACHE_TAG, $categoryIds); } } @@ -98,7 +171,7 @@ class Rows extends \Magento\Catalog\Model\Indexer\Category\Product\AbstractActio protected function getNonAnchorCategoriesSelect(\Magento\Store\Model\Store $store) { $select = parent::getNonAnchorCategoriesSelect($store); - return $select->where('ccp.product_id IN (?)', $this->limitationByProducts); + return $select->where('ccp.product_id IN (?) OR relation.child_id IN (?)', $this->limitationByProducts); } /** @@ -136,16 +209,25 @@ class Rows extends \Magento\Catalog\Model\Indexer\Category\Product\AbstractActio } /** - * Get cache context + * Returns a list of category ids which are assigned to product ids in the index * * @return \Magento\Framework\Indexer\CacheContext - * @deprecated 101.0.0 */ - private function getCacheContext() + private function getCategoryIdsFromIndex(array $productIds) { - if ($this->cacheContext === null) { - $this->cacheContext = \Magento\Framework\App\ObjectManager::getInstance()->get(CacheContext::class); + $categoryIds = $this->connection->fetchCol( + $this->connection->select() + ->from($this->getMainTable(), ['category_id']) + ->where('product_id IN (?)', $productIds) + ->distinct() + ); + $parentCategories = $categoryIds; + foreach ($categoryIds as $categoryId) { + $parentIds = explode('/', $this->getPathFromCategoryId($categoryId)); + $parentCategories = array_merge($parentCategories, $parentIds); } - return $this->cacheContext; + $categoryIds = array_unique($parentCategories); + + return $categoryIds; } } diff --git a/app/code/Magento/Catalog/Model/Product/Gallery/Processor.php b/app/code/Magento/Catalog/Model/Product/Gallery/Processor.php index 31e322f4e38f2b2b14a1032c4cdb872b63dd837a..ac2a01f9c5a84078586640edfd0e58de49534736 100644 --- a/app/code/Magento/Catalog/Model/Product/Gallery/Processor.php +++ b/app/code/Magento/Catalog/Model/Product/Gallery/Processor.php @@ -149,7 +149,7 @@ class Processor } $fileName = \Magento\MediaStorage\Model\File\Uploader::getCorrectFileName($pathinfo['basename']); - $dispretionPath = \Magento\MediaStorage\Model\File\Uploader::getDispretionPath($fileName); + $dispretionPath = \Magento\MediaStorage\Model\File\Uploader::getDispersionPath($fileName); $fileName = $dispretionPath . '/' . $fileName; $fileName = $this->getNotDuplicatedFilename($fileName, $dispretionPath); diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFile.php b/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFile.php index af6c4dba784f0529d93fb791e734378f06c11e63..b54c66d75a05883cf3fa7ba44ad1423b99a4653e 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFile.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFile.php @@ -150,7 +150,7 @@ class ValidatorFile extends Validator $extension = pathinfo(strtolower($fileInfo['name']), PATHINFO_EXTENSION); $fileName = \Magento\MediaStorage\Model\File\Uploader::getCorrectFileName($fileInfo['name']); - $dispersion = \Magento\MediaStorage\Model\File\Uploader::getDispretionPath($fileName); + $dispersion = \Magento\MediaStorage\Model\File\Uploader::getDispersionPath($fileName); $filePath = $dispersion; diff --git a/app/code/Magento/Catalog/Plugin/Model/AttributeSetRepository/RemoveProducts.php b/app/code/Magento/Catalog/Plugin/Model/AttributeSetRepository/RemoveProducts.php new file mode 100644 index 0000000000000000000000000000000000000000..342b703ded0a50d409fbed14868af74aa80130a7 --- /dev/null +++ b/app/code/Magento/Catalog/Plugin/Model/AttributeSetRepository/RemoveProducts.php @@ -0,0 +1,58 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Catalog\Plugin\Model\AttributeSetRepository; + +use Magento\Catalog\Model\ResourceModel\Product\Collection; +use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; +use Magento\Eav\Api\AttributeSetRepositoryInterface; +use Magento\Eav\Api\Data\AttributeSetInterface; + +/** + * Delete related products after attribute set successfully removed. + */ +class RemoveProducts +{ + /** + * Retrieve products related to specific attribute set. + * + * @var CollectionFactory + */ + private $collectionFactory; + + /** + * RemoveProducts constructor. + * + * @param CollectionFactory $collectionFactory + */ + public function __construct(CollectionFactory $collectionFactory) + { + $this->collectionFactory = $collectionFactory; + } + + /** + * Delete related to specific attribute set products, if attribute set was removed successfully. + * + * @param AttributeSetRepositoryInterface $subject + * @param bool $result + * @param AttributeSetInterface $attributeSet + * @return bool + * + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function afterDelete( + AttributeSetRepositoryInterface $subject, + bool $result, + AttributeSetInterface $attributeSet + ) { + /** @var Collection $productCollection */ + $productCollection = $this->collectionFactory->create(); + $productCollection->addFieldToFilter('attribute_set_id', ['eq' => $attributeSet->getId()]); + $productCollection->delete(); + + return $result; + } +} diff --git a/app/code/Magento/Catalog/Setup/UpgradeSchema.php b/app/code/Magento/Catalog/Setup/UpgradeSchema.php index 616bee43de00e521439cba4f2447c446bb0e7e03..d08108d1fc22bd7ae3b127c57cfdb8b500c2b6a9 100755 --- a/app/code/Magento/Catalog/Setup/UpgradeSchema.php +++ b/app/code/Magento/Catalog/Setup/UpgradeSchema.php @@ -21,6 +21,8 @@ class UpgradeSchema implements UpgradeSchemaInterface /** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) + * @SuppressWarnings(PHPMD.CyclomaticComplexity) + * @SuppressWarnings(PHPMD.NPathComplexity) */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { @@ -126,6 +128,10 @@ class UpgradeSchema implements UpgradeSchemaInterface $this->fixCustomerGroupIdColumn($setup); } + if (version_compare($context->getVersion(), '2.2.4', '<')) { + $this->removeAttributeSetRelation($setup); + } + $setup->endSetup(); } @@ -699,4 +705,20 @@ class UpgradeSchema implements UpgradeSchemaInterface ); $setup->getConnection()->query($sql); } + + /** + * Remove foreign key between catalog_product_entity and eav_attribute_set tables. + * Drop foreign key to delegate cascade on delete to plugin. + * @see \Magento\Catalog\Plugin\Model\AttributeSetRepository\RemoveProducts + * + * @param SchemaSetupInterface $setup + * @return void + */ + private function removeAttributeSetRelation(SchemaSetupInterface $setup) + { + $setup->getConnection()->dropForeignKey( + $setup->getTable('catalog_product_entity'), + $setup->getFkName('catalog_product_entity', 'attribute_set_id', 'eav_attribute_set', 'attribute_set_id') + ); + } } diff --git a/app/code/Magento/Catalog/Test/Unit/Model/CategoryRepositoryTest.php b/app/code/Magento/Catalog/Test/Unit/Model/CategoryRepositoryTest.php index 1bc5e450ae153e442133bc7d65c3b07cd70828ab..f77a6fec283a54737e4677b388ba9cfa3a73592f 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/CategoryRepositoryTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/CategoryRepositoryTest.php @@ -255,7 +255,8 @@ class CategoryRepositoryTest extends \PHPUnit\Framework\TestCase */ public function testSaveWithValidateCategoryException($error, $expectedException, $expectedExceptionMessage) { - $this->expectException($expectedException, $expectedExceptionMessage); + $this->expectException($expectedException); + $this->expectExceptionMessage($expectedExceptionMessage); $categoryId = 5; $categoryMock = $this->createMock(\Magento\Catalog\Model\Category::class); $this->extensibleDataObjectConverterMock diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Eav/Action/FullTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Eav/Action/FullTest.php index eb5fdabe533038a71c8bf0be824309c99cf95479..c254557904da15c0770496dfc28b5cc858099be5 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Eav/Action/FullTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Eav/Action/FullTest.php @@ -48,7 +48,8 @@ class FullTest extends \PHPUnit\Framework\TestCase $tableSwitcherMock ); - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, $exceptionMessage); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage($exceptionMessage); $model->execute(); } diff --git a/app/code/Magento/Catalog/Test/Unit/Plugin/Model/AttributeSetRepository/RemoveProductsTest.php b/app/code/Magento/Catalog/Test/Unit/Plugin/Model/AttributeSetRepository/RemoveProductsTest.php new file mode 100644 index 0000000000000000000000000000000000000000..712aeba59dffe47dbf58defffcf489519d55e3b6 --- /dev/null +++ b/app/code/Magento/Catalog/Test/Unit/Plugin/Model/AttributeSetRepository/RemoveProductsTest.php @@ -0,0 +1,87 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Catalog\Test\Unit\Plugin\Model\AttributeSetRepository; + +use Magento\Catalog\Model\ResourceModel\Product\Collection; +use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; +use Magento\Catalog\Plugin\Model\AttributeSetRepository\RemoveProducts; +use Magento\Eav\Api\AttributeSetRepositoryInterface; +use Magento\Eav\Api\Data\AttributeSetInterface; +use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; +use PHPUnit\Framework\TestCase; + +/** + * Provide tests for RemoveProducts plugin. + */ +class RemoveProductsTest extends TestCase +{ + /** + * @var RemoveProducts + */ + private $testSubject; + + /** + * @var CollectionFactory|\PHPUnit_Framework_MockObject_MockObject + */ + private $collectionFactory; + + /** + * @inheritdoc + */ + protected function setUp() + { + $objectManager = new ObjectManager($this); + $this->collectionFactory = $this->getMockBuilder(CollectionFactory::class) + ->disableOriginalConstructor() + ->setMethods(['create']) + ->getMock(); + $this->testSubject = $objectManager->getObject( + RemoveProducts::class, + [ + 'collectionFactory' => $this->collectionFactory, + ] + ); + } + + /** + * Test plugin will delete all related products for given attribute set. + */ + public function testAfterDelete() + { + $attributeSetId = '1'; + + /** @var Collection|\PHPUnit_Framework_MockObject_MockObject $collection */ + $collection = $this->getMockBuilder(Collection::class) + ->disableOriginalConstructor() + ->getMock(); + $collection->expects(self::once()) + ->method('addFieldToFilter') + ->with(self::identicalTo('attribute_set_id'), self::identicalTo(['eq' => $attributeSetId])); + $collection->expects(self::once()) + ->method('delete'); + + $this->collectionFactory->expects(self::once()) + ->method('create') + ->willReturn($collection); + + /** @var AttributeSetRepositoryInterface|\PHPUnit_Framework_MockObject_MockObject $attributeSetRepository */ + $attributeSetRepository = $this->getMockBuilder(AttributeSetRepositoryInterface::class) + ->disableOriginalConstructor() + ->getMockForAbstractClass(); + + /** @var AttributeSetInterface|\PHPUnit_Framework_MockObject_MockObject $attributeSet */ + $attributeSet = $this->getMockBuilder(AttributeSetInterface::class) + ->setMethods(['getId']) + ->disableOriginalConstructor() + ->getMockForAbstractClass(); + $attributeSet->expects(self::once()) + ->method('getId') + ->willReturn($attributeSetId); + + self::assertTrue($this->testSubject->afterDelete($attributeSetRepository, true, $attributeSet)); + } +} diff --git a/app/code/Magento/Catalog/etc/adminhtml/di.xml b/app/code/Magento/Catalog/etc/adminhtml/di.xml index b97e6fc1aa31891365a9eb901e80b456dab0b9a1..34d089580906f035f181e1b34cd85f77dfa59f70 100644 --- a/app/code/Magento/Catalog/etc/adminhtml/di.xml +++ b/app/code/Magento/Catalog/etc/adminhtml/di.xml @@ -184,4 +184,7 @@ <argument name="scopeOverriddenValue" xsi:type="object">Magento\Catalog\Model\Attribute\ScopeOverriddenValue</argument> </arguments> </type> + <type name="Magento\Eav\Api\AttributeSetRepositoryInterface"> + <plugin name="remove_products" type="Magento\Catalog\Plugin\Model\AttributeSetRepository\RemoveProducts"/> + </type> </config> diff --git a/app/code/Magento/Catalog/etc/module.xml b/app/code/Magento/Catalog/etc/module.xml index 18671a32bb4fbc05cd08e5581649de3f11b423aa..26ed173420adb95491694389c71d2a0848bfb198 100644 --- a/app/code/Magento/Catalog/etc/module.xml +++ b/app/code/Magento/Catalog/etc/module.xml @@ -6,7 +6,7 @@ */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> - <module name="Magento_Catalog" setup_version="2.2.3"> + <module name="Magento_Catalog" setup_version="2.2.4"> <sequence> <module name="Magento_Eav"/> <module name="Magento_Cms"/> diff --git a/app/code/Magento/Catalog/view/frontend/templates/navigation/left.phtml b/app/code/Magento/Catalog/view/frontend/templates/navigation/left.phtml index fa70e1513557847339cf125e5d7f24a1b78a0e6f..01820361744e0aebc18ab15cf4545275e2c87804 100644 --- a/app/code/Magento/Catalog/view/frontend/templates/navigation/left.phtml +++ b/app/code/Magento/Catalog/view/frontend/templates/navigation/left.phtml @@ -28,6 +28,7 @@ <dt><?= /* @escapeNotVerified */ __('Category') ?></dt> <dd> <ol class="items"> + <?php /** @var \Magento\Catalog\Model\Category $_category */ ?> <?php foreach ($_categories as $_category): ?> <?php if ($_category->getIsActive()): ?> <li class="item"> diff --git a/app/code/Magento/CatalogInventory/Helper/Stock.php b/app/code/Magento/CatalogInventory/Helper/Stock.php index 410e35096ee58c7ea1835ec48421f6999166ebf2..99a83753e43793f98ee2ba9cfbf465e3d845a2de 100644 --- a/app/code/Magento/CatalogInventory/Helper/Stock.php +++ b/app/code/Magento/CatalogInventory/Helper/Stock.php @@ -156,7 +156,7 @@ class Stock $resource = $this->getStockStatusResource(); $resource->addStockDataToCollection( $collection, - !$isShowOutOfStock || $collection->getFlag('require_stock_items') + !$isShowOutOfStock ); $collection->setFlag($stockFlag, true); } diff --git a/app/code/Magento/CatalogInventory/Test/Unit/Model/Indexer/Stock/Action/FullTest.php b/app/code/Magento/CatalogInventory/Test/Unit/Model/Indexer/Stock/Action/FullTest.php index e1a19bf10ecd4a30e1b81464e19aaf7cea42c10d..3590c96bd153260e0c41e9bfcc20cdffd3402712 100644 --- a/app/code/Magento/CatalogInventory/Test/Unit/Model/Indexer/Stock/Action/FullTest.php +++ b/app/code/Magento/CatalogInventory/Test/Unit/Model/Indexer/Stock/Action/FullTest.php @@ -44,7 +44,8 @@ class FullTest extends \PHPUnit\Framework\TestCase ] ); - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, $exceptionMessage); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage($exceptionMessage); $model->execute(); } diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext.php b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext.php index 9009a40c19dff3fc65772032b6480d92012d07a8..1aa3dba07fc78d8f8ec4cebea2969cc057fdb11b 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext.php @@ -123,11 +123,12 @@ class Fulltext implements \Magento\Framework\Indexer\ActionInterface, \Magento\F $saveHandler = $this->indexerHandlerFactory->create([ 'data' => $this->data ]); + foreach ($storeIds as $storeId) { $dimension = $this->dimensionFactory->create(['name' => 'scope', 'value' => $storeId]); $productIds = array_unique(array_merge($ids, $this->fulltextResource->getRelationsByChild($ids))); $saveHandler->deleteIndex([$dimension], new \ArrayObject($productIds)); - $saveHandler->saveIndex([$dimension], $this->fullAction->rebuildStoreIndex($storeId, $ids)); + $saveHandler->saveIndex([$dimension], $this->fullAction->rebuildStoreIndex($storeId, $productIds)); } } diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.php b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.php index 07ff47610f3306b95f57f0287f948cf1988a41cc..98fb2528593e7fd917aee4d5ea4664ccafd1b9d7 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.php @@ -377,9 +377,9 @@ class DataProvider public function getProductChildIds($productId, $typeId) { $typeInstance = $this->getProductTypeInstance($typeId); - $relation = $typeInstance->isComposite( - $this->getProductEmulator($typeId) - ) ? $typeInstance->getRelationInfo() : false; + $relation = $typeInstance->isComposite($this->getProductEmulator($typeId)) + ? $typeInstance->getRelationInfo() + : false; if ($relation && $relation->getTable() && $relation->getParentFieldName() && $relation->getChildFieldName()) { $select = $this->connection->select()->from( diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/Full.php b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/Full.php index 639c0e8ca66f0a044880fda98ae0e3d642f8c8c8..5abcd5e7592e1a64ca8747469a6d7e43fa123ab3 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/Full.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/Full.php @@ -5,6 +5,7 @@ */ namespace Magento\CatalogSearch\Model\Indexer\Fulltext\Action; +use Magento\Catalog\Api\Data\ProductInterface; use Magento\CatalogSearch\Model\Indexer\Fulltext; use Magento\Framework\App\ObjectManager; use Magento\Framework\App\ResourceConnection; @@ -297,27 +298,32 @@ class Full /** * Get parents IDs of product IDs to be re-indexed * + * @deprecated as it not used in the class anymore and duplicates another API method + * @see \Magento\CatalogSearch\Model\ResourceModel\Fulltext::getRelationsByChild() + * * @param int[] $entityIds * @return int[] + * @throws \Exception */ protected function getProductIdsFromParents(array $entityIds) { - /** @var \Magento\Framework\EntityManager\EntityMetadataInterface $metadata */ - $metadata = $this->metadataPool->getMetadata(\Magento\Catalog\Api\Data\ProductInterface::class); - $fieldForParent = $metadata->getLinkField(); + $connection = $this->connection; + $linkField = $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField(); - $select = $this->connection + $select = $connection ->select() - ->from(['relation' => $this->getTable('catalog_product_relation')], []) + ->from( + ['relation' => $this->getTable('catalog_product_relation')], + [] + ) ->distinct(true) ->where('child_id IN (?)', $entityIds) - ->where('parent_id NOT IN (?)', $entityIds) ->join( ['cpe' => $this->getTable('catalog_product_entity')], - 'relation.parent_id = cpe.' . $fieldForParent, + 'relation.parent_id = cpe.' . $linkField, ['cpe.entity_id'] ); - return $this->connection->fetchCol($select); + return $connection->fetchCol($select); } /** @@ -335,7 +341,7 @@ class Full public function rebuildStoreIndex($storeId, $productIds = null) { if ($productIds !== null) { - $productIds = array_unique(array_merge($productIds, $this->getProductIdsFromParents($productIds))); + $productIds = array_unique($productIds); } // prepare searchable attributes diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext.php index 15349e91c3fe9b9d1690d8b2eecf91c176def860..e9737d0aa059983d0b3daa1384800288e06e35ac 100644 --- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext.php +++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext.php @@ -82,17 +82,20 @@ class Fulltext extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { $connection = $this->getConnection(); $linkField = $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField(); - $select = $connection->select()->from( - ['relation' => $this->getTable('catalog_product_relation')], - [] - )->join( - ['cpe' => $this->getTable('catalog_product_entity')], - 'cpe.' . $linkField . ' = relation.parent_id', - ['cpe.entity_id'] - )->where( - 'relation.child_id IN (?)', - $childIds - )->distinct(true); + $select = $connection + ->select() + ->from( + ['relation' => $this->getTable('catalog_product_relation')], + [] + )->distinct(true) + ->join( + ['cpe' => $this->getTable('catalog_product_entity')], + 'cpe.' . $linkField . ' = relation.parent_id', + ['cpe.entity_id'] + )->where( + 'relation.child_id IN (?)', + $childIds + ); return $connection->fetchCol($select); } diff --git a/app/code/Magento/Config/Test/Unit/Block/System/Config/Form/Field/RegexceptionsTest.php b/app/code/Magento/Config/Test/Unit/Block/System/Config/Form/Field/RegexceptionsTest.php index 4f53f1072e0356d07182bc27c88621207b4e5f76..0b4d5f7ef15f72f54d13cd25c68d1b5ccefa3892 100644 --- a/app/code/Magento/Config/Test/Unit/Block/System/Config/Form/Field/RegexceptionsTest.php +++ b/app/code/Magento/Config/Test/Unit/Block/System/Config/Form/Field/RegexceptionsTest.php @@ -128,7 +128,8 @@ class RegexceptionsTest extends \PHPUnit\Framework\TestCase $this->object->addColumn($wrongColumnName, $this->cellParameters); - $this->expectException('\Exception', 'Wrong column name specified.'); + $this->expectException('\Exception'); + $this->expectExceptionMessage('Wrong column name specified.'); $this->object->renderCellTemplate($columnName); } diff --git a/app/code/Magento/Config/Test/Unit/Console/Command/ConfigSet/ProcessorFacadeTest.php b/app/code/Magento/Config/Test/Unit/Console/Command/ConfigSet/ProcessorFacadeTest.php index 4e65ab3f4cc214c8854a8bf2b39c6d8cf628bece..0f5852c322bdde7c07e71f5862f1cfb267dcbdbb 100644 --- a/app/code/Magento/Config/Test/Unit/Console/Command/ConfigSet/ProcessorFacadeTest.php +++ b/app/code/Magento/Config/Test/Unit/Console/Command/ConfigSet/ProcessorFacadeTest.php @@ -132,7 +132,8 @@ class ProcessorFacadeTest extends \PHPUnit\Framework\TestCase */ public function testProcessWithValidatorException(LocalizedException $exception) { - $this->expectException(ValidatorException::class, 'Some error'); + $this->expectException(ValidatorException::class); + $this->expectExceptionMessage('Some error'); $this->scopeValidatorMock->expects($this->once()) ->method('isValid') ->willThrowException($exception); diff --git a/app/code/Magento/Config/Test/Unit/Model/Config/Structure/Mapper/Helper/RelativePathConverterTest.php b/app/code/Magento/Config/Test/Unit/Model/Config/Structure/Mapper/Helper/RelativePathConverterTest.php index c671a5326c4de3aa5f8649ab628c6ee23e413cf3..058f9a380a27da07797a0707a2cbb895398f2bbe 100644 --- a/app/code/Magento/Config/Test/Unit/Model/Config/Structure/Mapper/Helper/RelativePathConverterTest.php +++ b/app/code/Magento/Config/Test/Unit/Model/Config/Structure/Mapper/Helper/RelativePathConverterTest.php @@ -24,7 +24,8 @@ class RelativePathConverterTest extends \PHPUnit\Framework\TestCase $exceptionMessage = sprintf('Invalid relative path %s in %s node', $relativePath, $nodePath); - $this->expectException('InvalidArgumentException', $exceptionMessage); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage($exceptionMessage); $this->_sut->convert($nodePath, $relativePath); } @@ -35,7 +36,8 @@ class RelativePathConverterTest extends \PHPUnit\Framework\TestCase */ public function testConvertWithInvalidArguments($nodePath, $relativePath) { - $this->expectException('InvalidArgumentException', 'Invalid arguments'); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage('Invalid arguments'); $this->_sut->convert($nodePath, $relativePath); } diff --git a/app/code/Magento/Config/Test/Unit/Model/ConfigTest.php b/app/code/Magento/Config/Test/Unit/Model/ConfigTest.php index 2832e8e54e5f66d5409a067518e94900138d4a81..2ddbbd5ffe1e80b4559d25e95f78ce0abff7abfb 100644 --- a/app/code/Magento/Config/Test/Unit/Model/ConfigTest.php +++ b/app/code/Magento/Config/Test/Unit/Model/ConfigTest.php @@ -280,7 +280,8 @@ class ConfigTest extends \PHPUnit\Framework\TestCase public function testSetDataByPathWrongDepth($path, $expectedException) { $expectedException = 'Allowed depth of configuration is 3 (<section>/<group>/<field>). ' . $expectedException; - $this->expectException('\UnexpectedValueException', $expectedException); + $this->expectException('\UnexpectedValueException'); + $this->expectExceptionMessage($expectedException); $value = 'value'; $this->_model->setDataByPath($path, $value); } diff --git a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/OptionRepositoryTest.php b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/OptionRepositoryTest.php index 2d824e52c7244f361f84d6d6c146f256fc6bf2ed..ab3fd33322aa52750367a8e471bb8860dfe1a22e 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/OptionRepositoryTest.php +++ b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/OptionRepositoryTest.php @@ -356,7 +356,8 @@ class OptionRepositoryTest extends \PHPUnit\Framework\TestCase */ public function testValidateNewOptionData($attributeId, $label, $optionValues, $msg) { - $this->expectException(\Magento\Framework\Exception\InputException::class, $msg); + $this->expectException(\Magento\Framework\Exception\InputException::class); + $this->expectExceptionMessage($msg); $optionValueMock = $this->getMockBuilder(\Magento\ConfigurableProduct\Api\Data\OptionValueInterface::class) ->setMethods(['getValueIndex', 'getPricingValue', 'getIsPercent']) ->getMockForAbstractClass(); diff --git a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Cache/Tag/ConfigurableTest.php b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Cache/Tag/ConfigurableTest.php index 5b4a8d5b8a9756421581d15383d24818c72562ba..a3f1435f84d2fad4823959803ff195b2b8d2edf4 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Cache/Tag/ConfigurableTest.php +++ b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Cache/Tag/ConfigurableTest.php @@ -32,13 +32,15 @@ class ConfigurableTest extends \PHPUnit\Framework\TestCase public function testGetWithScalar() { - $this->expectException(\InvalidArgumentException::class, 'Provided argument is not an object'); + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Provided argument is not an object'); $this->model->getTags('scalar'); } public function testGetTagsWithObject() { - $this->expectException(\InvalidArgumentException::class, 'Provided argument must be a product'); + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Provided argument must be a product'); $this->model->getTags(new \stdClass()); } diff --git a/app/code/Magento/Customer/Model/FileProcessor.php b/app/code/Magento/Customer/Model/FileProcessor.php index 2d6917efdaf56812618d0750d4bff4dbb09e01f2..6a8472758c16972a82647eba83cb9f616813c352 100644 --- a/app/code/Magento/Customer/Model/FileProcessor.php +++ b/app/code/Magento/Customer/Model/FileProcessor.php @@ -202,7 +202,7 @@ class FileProcessor { $fileName = ltrim($fileName, '/'); - $dispersionPath = \Magento\MediaStorage\Model\File\Uploader::getDispretionPath($fileName); + $dispersionPath = \Magento\MediaStorage\Model\File\Uploader::getDispersionPath($fileName); $destinationPath = $this->entityTypeCode . $dispersionPath; if (!$this->mediaDirectory->create($destinationPath)) { diff --git a/app/code/Magento/Customer/Test/Unit/Model/LoggerTest.php b/app/code/Magento/Customer/Test/Unit/Model/LoggerTest.php index 4cea7ee22837de2b4be4ecbc378897d7cc5fe1f5..408389182ae499ef5ea30f21f74c89db6cd73455 100644 --- a/app/code/Magento/Customer/Test/Unit/Model/LoggerTest.php +++ b/app/code/Magento/Customer/Test/Unit/Model/LoggerTest.php @@ -71,7 +71,8 @@ class LoggerTest extends \PHPUnit\Framework\TestCase $data = array_filter($data); if (!$data) { - $this->expectException('\InvalidArgumentException', 'Log data is empty'); + $this->expectException('\InvalidArgumentException'); + $this->expectExceptionMessage('Log data is empty'); $this->logger->log($customerId, $data); return; } diff --git a/app/code/Magento/Directory/Test/Unit/Model/Currency/Import/ConfigTest.php b/app/code/Magento/Directory/Test/Unit/Model/Currency/Import/ConfigTest.php index 54ec26386f3bd33c8c2dcddb43771ea8eaad5941..76b23e4e79ec2b97c2d4451cd00e251ba111690e 100644 --- a/app/code/Magento/Directory/Test/Unit/Model/Currency/Import/ConfigTest.php +++ b/app/code/Magento/Directory/Test/Unit/Model/Currency/Import/ConfigTest.php @@ -29,7 +29,8 @@ class ConfigTest extends \PHPUnit\Framework\TestCase */ public function testConstructorException(array $configData, $expectedException) { - $this->expectException('InvalidArgumentException', $expectedException); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage($expectedException); new \Magento\Directory\Model\Currency\Import\Config($configData); } diff --git a/app/code/Magento/Eav/Test/Unit/Model/Entity/Attribute/SetTest.php b/app/code/Magento/Eav/Test/Unit/Model/Entity/Attribute/SetTest.php index 78465e57c62367fd2cd801bb69f5f5b147381642..e976d031e965f8e531cbc818af57dbbdc2c5c839 100644 --- a/app/code/Magento/Eav/Test/Unit/Model/Entity/Attribute/SetTest.php +++ b/app/code/Magento/Eav/Test/Unit/Model/Entity/Attribute/SetTest.php @@ -44,7 +44,8 @@ class SetTest extends \PHPUnit\Framework\TestCase { $this->_model->getResource()->expects($this->any())->method('validate')->will($this->returnValue(false)); - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, $exceptionMessage); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage($exceptionMessage); $this->_model->setAttributeSetName($attributeSetName); $this->_model->validate(); } diff --git a/app/code/Magento/Email/Test/Unit/Model/Template/ConfigTest.php b/app/code/Magento/Email/Test/Unit/Model/Template/ConfigTest.php index 6ec3905fe46339ada431037cd7de0bf84ce0e9d2..47c3ac1e7e45075a7d8ab6c9ca33fb13193dd355 100644 --- a/app/code/Magento/Email/Test/Unit/Model/Template/ConfigTest.php +++ b/app/code/Magento/Email/Test/Unit/Model/Template/ConfigTest.php @@ -311,7 +311,8 @@ class ConfigTest extends \PHPUnit\Framework\TestCase array $fixtureFields = [], $argument = null ) { - $this->expectException('UnexpectedValueException', $expectedException); + $this->expectException('UnexpectedValueException'); + $this->expectExceptionMessage($expectedException); $dataStorage = $this->createPartialMock(\Magento\Email\Model\Template\Config\Data::class, ['get']); $dataStorage->expects( $this->atLeastOnce() diff --git a/app/code/Magento/Indexer/Console/Command/IndexerStatusCommand.php b/app/code/Magento/Indexer/Console/Command/IndexerStatusCommand.php index 6590f6e0af99d4b0ce21468483cdae75c1519f93..22acdc6f82bbcdf5f8a6cae2461f23abd23d73c2 100644 --- a/app/code/Magento/Indexer/Console/Command/IndexerStatusCommand.php +++ b/app/code/Magento/Indexer/Console/Command/IndexerStatusCommand.php @@ -7,6 +7,8 @@ namespace Magento\Indexer\Console\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; +use Magento\Framework\Indexer; +use Magento\Framework\Mview; /** * Command for displaying status of indexers. @@ -30,21 +32,84 @@ class IndexerStatusCommand extends AbstractIndexerManageCommand */ protected function execute(InputInterface $input, OutputInterface $output) { + $table = $this->getHelperSet()->get('table'); + $table->setHeaders(['Title', 'Status', 'Update On', 'Schedule Status', 'Schedule Updated']); + + $rows = []; + $indexers = $this->getIndexers($input); foreach ($indexers as $indexer) { - $status = 'unknown'; - switch ($indexer->getStatus()) { - case \Magento\Framework\Indexer\StateInterface::STATUS_VALID: - $status = 'Ready'; - break; - case \Magento\Framework\Indexer\StateInterface::STATUS_INVALID: - $status = 'Reindex required'; - break; - case \Magento\Framework\Indexer\StateInterface::STATUS_WORKING: - $status = 'Processing'; - break; + $view = $indexer->getView(); + + $rowData = [ + 'Title' => $indexer->getTitle(), + 'Status' => $this->getStatus($indexer), + 'Update On' => $indexer->isScheduled() ? 'Schedule' : 'Save', + 'Schedule Status' => '', + 'Updated' => '', + ]; + + if ($indexer->isScheduled()) { + $state = $view->getState(); + $rowData['Schedule Status'] = "{$state->getStatus()} ({$this->getPendingCount($view)} in backlog)"; + $rowData['Updated'] = $state->getUpdated(); } - $output->writeln(sprintf('%-50s ', $indexer->getTitle() . ':') . $status); + + $rows[] = $rowData; + } + + usort($rows, function ($comp1, $comp2) { + return strcmp($comp1['Title'], $comp2['Title']); + }); + + $table->addRows($rows); + $table->render($output); + } + + /** + * @param Indexer\IndexerInterface $indexer + * @return string + */ + private function getStatus(Indexer\IndexerInterface $indexer) + { + $status = 'unknown'; + switch ($indexer->getStatus()) { + case \Magento\Framework\Indexer\StateInterface::STATUS_VALID: + $status = 'Ready'; + break; + case \Magento\Framework\Indexer\StateInterface::STATUS_INVALID: + $status = 'Reindex required'; + break; + case \Magento\Framework\Indexer\StateInterface::STATUS_WORKING: + $status = 'Processing'; + break; } + return $status; + } + + /** + * @param Mview\ViewInterface $view + * @return string + */ + private function getPendingCount(Mview\ViewInterface $view) + { + $changelog = $view->getChangelog(); + + try { + $currentVersionId = $changelog->getVersion(); + } catch (Mview\View\ChangelogTableNotExistsException $e) { + return ''; + } + + $state = $view->getState(); + + $pendingCount = count($changelog->getList($state->getVersionId(), $currentVersionId)); + + $pendingString = "<error>$pendingCount</error>"; + if ($pendingCount <= 0) { + $pendingString = "<info>$pendingCount</info>"; + } + + return $pendingString; } } diff --git a/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusCommandTest.php b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusCommandTest.php index 6eb7f7562b9cc2752e553bb994a076c89812b9ff..31513da018c6bf487bec96f57bacad1996c09e50 100644 --- a/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusCommandTest.php +++ b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusCommandTest.php @@ -8,6 +8,8 @@ namespace Magento\Indexer\Test\Unit\Console\Command; use Magento\Framework\Indexer\StateInterface; use Magento\Indexer\Console\Command\IndexerStatusCommand; use Symfony\Component\Console\Tester\CommandTester; +use Symfony\Component\Console\Helper\HelperSet; +use Symfony\Component\Console\Helper\TableHelper; class IndexerStatusCommandTest extends AbstractIndexerCommandCommonSetup { @@ -18,35 +20,134 @@ class IndexerStatusCommandTest extends AbstractIndexerCommandCommonSetup */ private $command; + /** + * @param \PHPUnit_Framework_MockObject_MockObject $indexerMock + * @param array $data + * @return mixed + */ + private function attachViewToIndexerMock($indexerMock, array $data) + { + /** @var \Magento\Framework\Mview\View\Changelog|\PHPUnit_Framework_MockObject_MockObject $changelog */ + $changelog = $this->getMockBuilder(\Magento\Framework\Mview\View\Changelog::class) + ->disableOriginalConstructor() + ->getMock(); + + $changelog->expects($this->any()) + ->method('getList') + ->willReturn(range(0, $data['view']['changelog']['list_size']-1)); + + /** @var \Magento\Indexer\Model\Mview\View\State|\PHPUnit_Framework_MockObject_MockObject $stateMock */ + $stateMock = $this->getMockBuilder(\Magento\Indexer\Model\Mview\View\State::class) + ->disableOriginalConstructor() + ->setMethods(null) + ->getMock(); + + $stateMock->addData($data['view']['state']); + + /** @var \Magento\Framework\Mview\View|\PHPUnit_Framework_MockObject_MockObject $viewMock */ + $viewMock = $this->getMockBuilder(\Magento\Framework\Mview\View::class) + ->disableOriginalConstructor() + ->setMethods(['getChangelog', 'getState']) + ->getMock(); + + $viewMock->expects($this->any()) + ->method('getState') + ->willReturn($stateMock); + $viewMock->expects($this->any()) + ->method('getChangelog') + ->willReturn($changelog); + + $indexerMock->method('getView') + ->willReturn($viewMock); + + return $indexerMock; + } + /** * @param array $indexers - * @param array $statuses + * * @dataProvider executeAllDataProvider */ - public function testExecuteAll(array $indexers, array $statuses) + public function testExecuteAll(array $indexers) { $this->configureAdminArea(); $indexerMocks = []; foreach ($indexers as $indexerData) { $indexerMock = $this->getIndexerMock( - ['getStatus'], + ['getStatus', 'isScheduled', 'getState', 'getView'], $indexerData ); + $indexerMock->method('getStatus') - ->willReturn($statuses[$indexerData['indexer_id']]); + ->willReturn($indexerData['status']); + $indexerMock->method('isScheduled') + ->willReturn($indexerData['is_scheduled']); + + if ($indexerData['is_scheduled']) { + $this->attachViewToIndexerMock($indexerMock, $indexerData); + } + $indexerMocks[] = $indexerMock; } + $this->initIndexerCollectionByItems($indexerMocks); $this->command = new IndexerStatusCommand($this->objectManagerFactory); + + $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); + + $this->command->setHelperSet( + $objectManager->getObject( + HelperSet::class, + ['helpers' => [$objectManager->getObject(TableHelper::class)]] + ) + ); + $commandTester = new CommandTester($this->command); $commandTester->execute([]); - $actualValue = $commandTester->getDisplay(); - $expectedValue = sprintf('%-50s ', 'Title_indexerOne' . ':') . 'Ready' . PHP_EOL - . sprintf('%-50s ', 'Title_indexerTwo' . ':') . 'Reindex required' . PHP_EOL - . sprintf('%-50s ', 'Title_indexerThree' . ':') . 'Processing' . PHP_EOL - . sprintf('%-50s ', 'Title_indexerFour' . ':') . 'unknown' . PHP_EOL; - $this->assertStringStartsWith($expectedValue, $actualValue); + $linesOutput = array_filter(explode(PHP_EOL, $commandTester->getDisplay())); + + $spacer = '+----------------+------------------+-----------+-------------------------+---------------------+'; + + $this->assertCount(8, $linesOutput, 'There should be 8 lines output. 3 Spacers, 1 header, 4 content.'); + $this->assertEquals($linesOutput[0], $spacer, "Lines 0, 2, 7 should be spacer lines"); + $this->assertEquals($linesOutput[2], $spacer, "Lines 0, 2, 7 should be spacer lines"); + $this->assertEquals($linesOutput[7], $spacer, "Lines 0, 2, 7 should be spacer lines"); + + $headerValues = array_values(array_filter(explode('|', $linesOutput[1]))); + $this->assertEquals('Title', trim($headerValues[0])); + $this->assertEquals('Status', trim($headerValues[1])); + $this->assertEquals('Update On', trim($headerValues[2])); + $this->assertEquals('Schedule Status', trim($headerValues[3])); + $this->assertEquals('Schedule Updated', trim($headerValues[4])); + + $indexer1 = array_values(array_filter(explode('|', $linesOutput[3]))); + $this->assertEquals('Title_indexer1', trim($indexer1[0])); + $this->assertEquals('Ready', trim($indexer1[1])); + $this->assertEquals('Schedule', trim($indexer1[2])); + $this->assertEquals('idle (10 in backlog)', trim($indexer1[3])); + $this->assertEquals('2017-01-01 11:11:11', trim($indexer1[4])); + + $indexer2 = array_values(array_filter(explode('|', $linesOutput[4]))); + $this->assertEquals('Title_indexer2', trim($indexer2[0])); + $this->assertEquals('Reindex required', trim($indexer2[1])); + $this->assertEquals('Save', trim($indexer2[2])); + $this->assertEquals('', trim($indexer2[3])); + $this->assertEquals('', trim($indexer2[4])); + + $indexer3 = array_values(array_filter(explode('|', $linesOutput[5]))); + $this->assertEquals('Title_indexer3', trim($indexer3[0])); + $this->assertEquals('Processing', trim($indexer3[1])); + $this->assertEquals('Schedule', trim($indexer3[2])); + $this->assertEquals('idle (100 in backlog)', trim($indexer3[3])); + $this->assertEquals('2017-01-01 11:11:11', trim($indexer3[4])); + + $indexer4 = array_values(array_filter(explode('|', $linesOutput[6]))); + $this->assertEquals('Title_indexer4', trim($indexer4[0])); + $this->assertEquals('unknown', trim($indexer4[1])); + $this->assertEquals('Schedule', trim($indexer4[2])); + $this->assertEquals('running (20 in backlog)', trim($indexer4[3])); + $this->assertEquals('2017-01-01 11:11:11', trim($indexer4[4])); } /** @@ -59,27 +160,65 @@ class IndexerStatusCommandTest extends AbstractIndexerCommandCommonSetup 'indexers' => [ 'indexer_1' => [ 'indexer_id' => 'indexer_1', - 'title' => 'Title_indexerOne' + 'title' => 'Title_indexer1', + 'status' => StateInterface::STATUS_VALID, + 'is_scheduled' => true, + 'view' => [ + 'state' => [ + 'status' => 'idle', + 'updated' => '2017-01-01 11:11:11', + ], + 'changelog' => [ + 'list_size' => 10 + ] + ] ], 'indexer_2' => [ 'indexer_id' => 'indexer_2', - 'title' => 'Title_indexerTwo' + 'title' => 'Title_indexer2', + 'status' => StateInterface::STATUS_INVALID, + 'is_scheduled' => false, + 'view' => [ + 'state' => [ + 'status' => 'idle', + 'updated' => '2017-01-01 11:11:11', + ], + 'changelog' => [ + 'list_size' => 99999999 + ] + ] ], 'indexer_3' => [ 'indexer_id' => 'indexer_3', - 'title' => 'Title_indexerThree' + 'title' => 'Title_indexer3', + 'status' => StateInterface::STATUS_WORKING, + 'is_scheduled' => true, + 'view' => [ + 'state' => [ + 'status' => 'idle', + 'updated' => '2017-01-01 11:11:11', + ], + 'changelog' => [ + 'list_size' => 100 + ] + ] ], 'indexer_4' => [ 'indexer_id' => 'indexer_4', - 'title' => 'Title_indexerFour' + 'title' => 'Title_indexer4', + 'status' => null, + 'is_scheduled' => true, + 'view' => [ + 'state' => [ + 'status' => 'running', + 'updated' => '2017-01-01 11:11:11', + ], + 'changelog' => [ + 'list_size' => 20 + ] + ] ], ], - 'Statuses' => [ - 'indexer_1' => StateInterface::STATUS_VALID, - 'indexer_2' => StateInterface::STATUS_INVALID, - 'indexer_3' => StateInterface::STATUS_WORKING, - 'indexer_4' => null, - ] ], ]; } diff --git a/app/code/Magento/Integration/Test/Unit/Model/Oauth/TokenTest.php b/app/code/Magento/Integration/Test/Unit/Model/Oauth/TokenTest.php index 36b0d77d1e1aef340c1df86ec6430911fdc51325..badb69aa19fe4ac63f184a8bcead73d5f7f738da 100644 --- a/app/code/Magento/Integration/Test/Unit/Model/Oauth/TokenTest.php +++ b/app/code/Magento/Integration/Test/Unit/Model/Oauth/TokenTest.php @@ -384,7 +384,8 @@ class TokenTest extends \PHPUnit\Framework\TestCase $this->validatorMock->expects($this->once())->method('isValid')->willReturn(false); $this->validatorMock->expects($this->once())->method('getMessages')->willReturn([$exceptionMessage]); - $this->expectException(\Magento\Framework\Oauth\Exception::class, $exceptionMessage); + $this->expectException(\Magento\Framework\Oauth\Exception::class); + $this->expectExceptionMessage($exceptionMessage); $this->tokenModel->validate(); } @@ -402,7 +403,8 @@ class TokenTest extends \PHPUnit\Framework\TestCase $this->validatorKeyLengthMock->expects($this->once())->method('isValid')->willReturn(false); $this->validatorKeyLengthMock->expects($this->once())->method('getMessages')->willReturn([$exceptionMessage]); - $this->expectException(\Magento\Framework\Oauth\Exception::class, $exceptionMessage); + $this->expectException(\Magento\Framework\Oauth\Exception::class); + $this->expectExceptionMessage($exceptionMessage); $this->tokenModel->validate(); } @@ -429,7 +431,8 @@ class TokenTest extends \PHPUnit\Framework\TestCase ] ); $this->validatorKeyLengthMock->expects($this->once())->method('getMessages')->willReturn([$exceptionMessage]); - $this->expectException(\Magento\Framework\Oauth\Exception::class, $exceptionMessage); + $this->expectException(\Magento\Framework\Oauth\Exception::class); + $this->expectExceptionMessage($exceptionMessage); $this->tokenModel->validate(); } @@ -459,7 +462,8 @@ class TokenTest extends \PHPUnit\Framework\TestCase ] ); $this->validatorKeyLengthMock->expects($this->once())->method('getMessages')->willReturn([$exceptionMessage]); - $this->expectException(\Magento\Framework\Oauth\Exception::class, $exceptionMessage); + $this->expectException(\Magento\Framework\Oauth\Exception::class); + $this->expectExceptionMessage($exceptionMessage); $this->tokenModel->validate(); } diff --git a/app/code/Magento/Paypal/Test/Unit/Model/Api/NvpTest.php b/app/code/Magento/Paypal/Test/Unit/Model/Api/NvpTest.php index 8b270fe24ab155778f9fd5c46abdbe7bff509d3d..c0b2bb4fc1dca4a4aae440791d8c0bc105fad3a9 100644 --- a/app/code/Magento/Paypal/Test/Unit/Model/Api/NvpTest.php +++ b/app/code/Magento/Paypal/Test/Unit/Model/Api/NvpTest.php @@ -126,7 +126,8 @@ class NvpTest extends \PHPUnit\Framework\TestCase public function testCall($response, $processableErrors, $exception, $exceptionMessage = '', $exceptionCode = null) { if (isset($exception)) { - $this->expectException($exception, $exceptionMessage, $exceptionCode); + $this->expectException($exception); + $this->expectExceptionMessage($exceptionMessage, $exceptionCode); } $this->curl->expects($this->once()) ->method('read') diff --git a/app/code/Magento/ProductVideo/Controller/Adminhtml/Product/Gallery/RetrieveImage.php b/app/code/Magento/ProductVideo/Controller/Adminhtml/Product/Gallery/RetrieveImage.php index 3658e36a82ec316460aa4b15731172e824d14454..9950526182e3e16a23e16a05fb2188bf2bc44ec0 100644 --- a/app/code/Magento/ProductVideo/Controller/Adminhtml/Product/Gallery/RetrieveImage.php +++ b/app/code/Magento/ProductVideo/Controller/Adminhtml/Product/Gallery/RetrieveImage.php @@ -110,7 +110,7 @@ class RetrieveImage extends \Magento\Backend\App\Action $remoteFileUrl = $this->getRequest()->getParam('remote_image'); $this->validateRemoteFile($remoteFileUrl); $localFileName = Uploader::getCorrectFileName(basename($remoteFileUrl)); - $localTmpFileName = Uploader::getDispretionPath($localFileName) . DIRECTORY_SEPARATOR . $localFileName; + $localTmpFileName = Uploader::getDispersionPath($localFileName) . DIRECTORY_SEPARATOR . $localFileName; $localFilePath = $baseTmpMediaPath . ($localTmpFileName); $localUniqFilePath = $this->appendNewFileName($localFilePath); $this->validateRemoteFileExtensions($localUniqFilePath); @@ -174,7 +174,7 @@ class RetrieveImage extends \Magento\Backend\App\Action protected function appendResultSaveRemoteImage($fileName) { $fileInfo = pathinfo($fileName); - $tmpFileName = Uploader::getDispretionPath($fileInfo['basename']) . DIRECTORY_SEPARATOR . $fileInfo['basename']; + $tmpFileName = Uploader::getDispersionPath($fileInfo['basename']) . DIRECTORY_SEPARATOR . $fileInfo['basename']; $result['name'] = $fileInfo['basename']; $result['type'] = $this->imageAdapter->getMimeType(); $result['error'] = 0; diff --git a/app/code/Magento/ProductVideo/view/frontend/web/js/fotorama-add-video-events.js b/app/code/Magento/ProductVideo/view/frontend/web/js/fotorama-add-video-events.js index 1dfcc95a552c69b7ffed247ec83c348a8f80d4df..c0036b71ac86ac7550b0faaa6d59f0382141cb2e 100644 --- a/app/code/Magento/ProductVideo/view/frontend/web/js/fotorama-add-video-events.js +++ b/app/code/Magento/ProductVideo/view/frontend/web/js/fotorama-add-video-events.js @@ -175,10 +175,10 @@ define([ */ clearEvents: function () { this.fotoramaItem.off( - 'fotorama:show ' + - 'fotorama:showend ' + - 'fotorama:fullscreenenter ' + - 'fotorama:fullscreenexit' + 'fotorama:show.' + this.PV + + ' fotorama:showend.' + this.PV + + ' fotorama:fullscreenenter.' + this.PV + + ' fotorama:fullscreenexit.' + this.PV ); }, @@ -232,11 +232,11 @@ define([ * @private */ _listenForFullscreen: function () { - this.fotoramaItem.on('fotorama:fullscreenenter', $.proxy(function () { + this.fotoramaItem.on('fotorama:fullscreenenter.' + this.PV, $.proxy(function () { this.isFullscreen = true; }, this)); - this.fotoramaItem.on('fotorama:fullscreenexit', $.proxy(function () { + this.fotoramaItem.on('fotorama:fullscreenexit.' + this.PV, $.proxy(function () { this.isFullscreen = false; this._hideVideoArrows(); }, this)); @@ -468,7 +468,7 @@ define([ t; if (!fotorama.activeFrame.$navThumbFrame) { - this.fotoramaItem.on('fotorama:showend', $.proxy(function (evt, fotoramaData) { + this.fotoramaItem.on('fotorama:showend.' + this.PV, $.proxy(function (evt, fotoramaData) { $(fotoramaData.activeFrame.$stageFrame).removeAttr('href'); }, this)); @@ -486,7 +486,7 @@ define([ this._checkForVideo(e, fotorama, t + 1); } - this.fotoramaItem.on('fotorama:showend', $.proxy(function (evt, fotoramaData) { + this.fotoramaItem.on('fotorama:showend.' + this.PV, $.proxy(function (evt, fotoramaData) { $(fotoramaData.activeFrame.$stageFrame).removeAttr('href'); }, this)); }, @@ -528,15 +528,15 @@ define([ * @private */ _attachFotoramaEvents: function () { - this.fotoramaItem.on('fotorama:showend', $.proxy(function (e, fotorama) { + this.fotoramaItem.on('fotorama:showend.' + this.PV, $.proxy(function (e, fotorama) { this._startPrepareForPlayer(e, fotorama); }, this)); - this.fotoramaItem.on('fotorama:show', $.proxy(function (e, fotorama) { + this.fotoramaItem.on('fotorama:show.' + this.PV, $.proxy(function (e, fotorama) { this._unloadVideoPlayer(fotorama.activeFrame.$stageFrame.parent(), fotorama, true); }, this)); - this.fotoramaItem.on('fotorama:fullscreenexit', $.proxy(function (e, fotorama) { + this.fotoramaItem.on('fotorama:fullscreenexit.' + this.PV, $.proxy(function (e, fotorama) { fotorama.activeFrame.$stageFrame.find('.' + this.PV).remove(); this._startPrepareForPlayer(e, fotorama); }, this)); diff --git a/app/code/Magento/Reports/Model/ResourceModel/Quote/Item/Collection.php b/app/code/Magento/Reports/Model/ResourceModel/Quote/Item/Collection.php index f3f14ef8c35432b2907cdeaf96442b6b728dbe96..d219aefe81d458633b446f1768855fd433ec4e71 100644 --- a/app/code/Magento/Reports/Model/ResourceModel/Quote/Item/Collection.php +++ b/app/code/Magento/Reports/Model/ResourceModel/Quote/Item/Collection.php @@ -220,8 +220,10 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab $orderData = $this->getOrdersData($productIds); foreach ($items as $item) { $item->setId($item->getProductId()); - $item->setPrice($productData[$item->getProductId()]['price'] * $item->getBaseToGlobalRate()); - $item->setName($productData[$item->getProductId()]['name']); + if (isset($productData[$item->getProductId()])) { + $item->setPrice($productData[$item->getProductId()]['price'] * $item->getBaseToGlobalRate()); + $item->setName($productData[$item->getProductId()]['name']); + } $item->setOrders(0); if (isset($orderData[$item->getProductId()])) { $item->setOrders($orderData[$item->getProductId()]['orders']); diff --git a/app/code/Magento/Rule/Test/Unit/Model/ConditionFactoryTest.php b/app/code/Magento/Rule/Test/Unit/Model/ConditionFactoryTest.php index d8c0cc470f55e96e5977c4b8e16572c904d9a9dd..f78ee4f345d0de4adac4b21255964a7bcaca4389 100644 --- a/app/code/Magento/Rule/Test/Unit/Model/ConditionFactoryTest.php +++ b/app/code/Magento/Rule/Test/Unit/Model/ConditionFactoryTest.php @@ -78,7 +78,8 @@ class ConditionFactoryTest extends \PHPUnit\Framework\TestCase ->expects($this->never()) ->method('create'); - $this->expectException(\InvalidArgumentException::class, 'Class does not exist'); + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Class does not exist'); $this->conditionFactory->create($type); } @@ -92,7 +93,8 @@ class ConditionFactoryTest extends \PHPUnit\Framework\TestCase ->method('create') ->with($type) ->willReturn(new \stdClass()); - $this->expectException(\InvalidArgumentException::class, 'Class does not implement condition interface'); + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Class does not implement condition interface'); $this->conditionFactory->create($type); } } diff --git a/app/code/Magento/SalesRule/Test/Unit/Model/CouponRepositoryTest.php b/app/code/Magento/SalesRule/Test/Unit/Model/CouponRepositoryTest.php index ebdc10830f33f20fdcfc4a9766a1184fa565b0b6..31536e1be3d2eb92b111ea0c8c8855e7bbf91932 100644 --- a/app/code/Magento/SalesRule/Test/Unit/Model/CouponRepositoryTest.php +++ b/app/code/Magento/SalesRule/Test/Unit/Model/CouponRepositoryTest.php @@ -150,7 +150,8 @@ class CouponRepositoryTest extends \PHPUnit\Framework\TestCase $this->resource->expects($this->once())->method('save')->with($coupon) ->willThrowException($exceptionObject); } - $this->expectException($exceptionName, $exceptionMessage); + $this->expectException($exceptionName); + $this->expectExceptionMessage($exceptionMessage); $this->model->save($coupon); } diff --git a/app/code/Magento/Security/Model/Config.php b/app/code/Magento/Security/Model/Config.php index 100f4630a45a654891794a1d8a34914513b9c550..2135b81eb82b55b92a10f77a429af3ede1307699 100644 --- a/app/code/Magento/Security/Model/Config.php +++ b/app/code/Magento/Security/Model/Config.php @@ -24,10 +24,17 @@ class Config implements ConfigInterface */ const XML_PATH_ADMIN_AREA = 'admin/security/'; + /** + * Configuration path to frontend area + */ + const XML_PATH_FRONTEND_AREA = 'customer/password/'; + /** * Configuration path to fronted area + * @deprecated + * @see \Magento\Security\Model\Config::XML_PATH_FRONTEND_AREA */ - const XML_PATH_FRONTED_AREA = 'customer/password/'; + const XML_PATH_FRONTED_AREA = self::XML_PATH_FRONTEND_AREA; /** * Configuration path to admin account sharing @@ -134,7 +141,7 @@ class Config implements ConfigInterface if ($this->scope->getCurrentScope() == \Magento\Framework\App\Area::AREA_ADMINHTML) { return self::XML_PATH_ADMIN_AREA; } - return self::XML_PATH_FRONTED_AREA; + return self::XML_PATH_FRONTEND_AREA; } /** diff --git a/app/code/Magento/Security/Model/Plugin/AccountManagement.php b/app/code/Magento/Security/Model/Plugin/AccountManagement.php index dea54b194880d7629c1d8f3f6dec2a95265ed117..9476bf46df338506cd56c8316fc4915b9d60f64c 100644 --- a/app/code/Magento/Security/Model/Plugin/AccountManagement.php +++ b/app/code/Magento/Security/Model/Plugin/AccountManagement.php @@ -5,10 +5,12 @@ */ namespace Magento\Security\Model\Plugin; -use Magento\Security\Model\SecurityManager; use Magento\Customer\Model\AccountManagement as AccountManagementOriginal; +use Magento\Framework\App\ObjectManager; +use Magento\Framework\Config\ScopeInterface; use Magento\Framework\Exception\SecurityViolationException; use Magento\Security\Model\PasswordResetRequestEvent; +use Magento\Security\Model\SecurityManager; /** * Magento\Customer\Model\AccountManagement decorator @@ -30,21 +32,29 @@ class AccountManagement */ protected $passwordRequestEvent; + /** + * @var ScopeInterface + */ + private $scope; + /** * AccountManagement constructor. * * @param \Magento\Framework\App\RequestInterface $request * @param SecurityManager $securityManager * @param int $passwordRequestEvent + * @param ScopeInterface $scope */ public function __construct( \Magento\Framework\App\RequestInterface $request, \Magento\Security\Model\SecurityManager $securityManager, - $passwordRequestEvent = PasswordResetRequestEvent::CUSTOMER_PASSWORD_RESET_REQUEST + $passwordRequestEvent = PasswordResetRequestEvent::CUSTOMER_PASSWORD_RESET_REQUEST, + ScopeInterface $scope = null ) { $this->request = $request; $this->securityManager = $securityManager; $this->passwordRequestEvent = $passwordRequestEvent; + $this->scope = $scope ?: ObjectManager::getInstance()->get(ScopeInterface::class); } /** @@ -63,10 +73,14 @@ class AccountManagement $template, $websiteId = null ) { - $this->securityManager->performSecurityCheck( - $this->passwordRequestEvent, - $email - ); + if ($this->scope->getCurrentScope() == \Magento\Framework\App\Area::AREA_FRONTEND + || $this->passwordRequestEvent == PasswordResetRequestEvent::ADMIN_PASSWORD_RESET_REQUEST) { + $this->securityManager->performSecurityCheck( + $this->passwordRequestEvent, + $email + ); + } + return [$email, $template, $websiteId]; } } diff --git a/app/code/Magento/Security/Test/Unit/Model/ConfigTest.php b/app/code/Magento/Security/Test/Unit/Model/ConfigTest.php index 7186502df73b5d6632b8e3ef7a2e92fde084be31..3ef8655539b5a1f679b0924d72e9f72857d50db5 100644 --- a/app/code/Magento/Security/Test/Unit/Model/ConfigTest.php +++ b/app/code/Magento/Security/Test/Unit/Model/ConfigTest.php @@ -167,7 +167,7 @@ class ConfigTest extends \PHPUnit\Framework\TestCase if ($scope == \Magento\Framework\App\Area::AREA_ADMINHTML) { return \Magento\Security\Model\Config::XML_PATH_ADMIN_AREA; } - return \Magento\Security\Model\Config::XML_PATH_FRONTED_AREA; + return \Magento\Security\Model\Config::XML_PATH_FRONTEND_AREA; } /** diff --git a/app/code/Magento/Security/Test/Unit/Model/Plugin/AccountManagementTest.php b/app/code/Magento/Security/Test/Unit/Model/Plugin/AccountManagementTest.php index 0935dc003d5b3c9a8a03fa6e70c4750c37c79b06..8f8128d395a0c00d04fb11d38248bbdd010b1c22 100644 --- a/app/code/Magento/Security/Test/Unit/Model/Plugin/AccountManagementTest.php +++ b/app/code/Magento/Security/Test/Unit/Model/Plugin/AccountManagementTest.php @@ -6,7 +6,11 @@ namespace Magento\Security\Test\Unit\Model\Plugin; +use Magento\Customer\Model\AccountManagement; +use Magento\Framework\App\Area; +use Magento\Framework\Config\ScopeInterface; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; +use Magento\Security\Model\PasswordResetRequestEvent; /** * Test class for \Magento\Security\Model\Plugin\AccountManagement testing @@ -19,20 +23,25 @@ class AccountManagementTest extends \PHPUnit\Framework\TestCase protected $model; /** - * @var \Magento\Framework\App\RequestInterface + * @var \Magento\Framework\App\RequestInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $request; /** - * @var \Magento\Security\Model\SecurityManager + * @var \Magento\Security\Model\SecurityManager|\PHPUnit_Framework_MockObject_MockObject */ protected $securityManager; /** - * @var \Magento\Customer\Model\AccountManagement + * @var AccountManagement|\PHPUnit_Framework_MockObject_MockObject */ protected $accountManagement; + /** + * @var ScopeInterface|\PHPUnit_Framework_MockObject_MockObject + */ + private $scope; + /** * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager */ @@ -46,35 +55,45 @@ class AccountManagementTest extends \PHPUnit\Framework\TestCase { $this->objectManager = new ObjectManager($this); - $this->request = $this->createMock(\Magento\Framework\App\RequestInterface::class); + $this->request = $this->createMock(\Magento\Framework\App\RequestInterface::class); $this->securityManager = $this->createPartialMock( \Magento\Security\Model\SecurityManager::class, ['performSecurityCheck'] ); - $this->accountManagement = $this->createMock(\Magento\Customer\Model\AccountManagement::class); + $this->accountManagement = $this->createMock(AccountManagement::class); + $this->scope = $this->createMock(ScopeInterface::class); + } + + /** + * @param $area + * @param $passwordRequestEvent + * @param $expectedTimes + * @dataProvider beforeInitiatePasswordResetDataProvider + */ + public function testBeforeInitiatePasswordReset($area, $passwordRequestEvent, $expectedTimes) + { + $email = 'test@example.com'; + $template = AccountManagement::EMAIL_RESET; $this->model = $this->objectManager->getObject( \Magento\Security\Model\Plugin\AccountManagement::class, [ + 'passwordRequestEvent' => $passwordRequestEvent, 'request' => $this->request, - 'securityManager' => $this->securityManager + 'securityManager' => $this->securityManager, + 'scope' => $this->scope ] ); - } - /** - * @return void - */ - public function testBeforeInitiatePasswordReset() - { - $email = 'test@example.com'; - $template = \Magento\Customer\Model\AccountManagement::EMAIL_RESET; + $this->scope->expects($this->once()) + ->method('getCurrentScope') + ->willReturn($area); - $this->securityManager->expects($this->once()) + $this->securityManager->expects($this->exactly($expectedTimes)) ->method('performSecurityCheck') - ->with(\Magento\Security\Model\PasswordResetRequestEvent::CUSTOMER_PASSWORD_RESET_REQUEST, $email) + ->with($passwordRequestEvent, $email) ->willReturnSelf(); $this->model->beforeInitiatePasswordReset( @@ -83,4 +102,18 @@ class AccountManagementTest extends \PHPUnit\Framework\TestCase $template ); } + + /** + * @return array + */ + public function beforeInitiatePasswordResetDataProvider() + { + return [ + [Area::AREA_ADMINHTML, PasswordResetRequestEvent::CUSTOMER_PASSWORD_RESET_REQUEST, 0], + [Area::AREA_ADMINHTML, PasswordResetRequestEvent::ADMIN_PASSWORD_RESET_REQUEST, 1], + [Area::AREA_FRONTEND, PasswordResetRequestEvent::CUSTOMER_PASSWORD_RESET_REQUEST, 1], + // This should never happen, but let's cover it with tests + [Area::AREA_FRONTEND, PasswordResetRequestEvent::ADMIN_PASSWORD_RESET_REQUEST, 1], + ]; + } } diff --git a/app/code/Magento/Security/etc/adminhtml/di.xml b/app/code/Magento/Security/etc/adminhtml/di.xml index 6f07fb580490e06e684ab5b8644cc995e2753357..c1188c2d405cf99b018be6131b7280c7e7784c3f 100644 --- a/app/code/Magento/Security/etc/adminhtml/di.xml +++ b/app/code/Magento/Security/etc/adminhtml/di.xml @@ -17,7 +17,7 @@ </type> <type name="Magento\Security\Model\Plugin\AccountManagement"> <arguments> - <argument name="passwordRequestEvent" xsi:type="const">Magento\Security\Model\PasswordResetRequestEvent::ADMIN_PASSWORD_RESET_REQUEST</argument> + <argument name="passwordRequestEvent" xsi:type="const">Magento\Security\Model\PasswordResetRequestEvent::CUSTOMER_PASSWORD_RESET_REQUEST</argument> </arguments> </type> <type name="Magento\Security\Model\SecurityManager"> diff --git a/app/code/Magento/Tax/Test/Unit/Model/Calculation/RateRepositoryTest.php b/app/code/Magento/Tax/Test/Unit/Model/Calculation/RateRepositoryTest.php index db2053efd41f616002de8c78b4663f90a6e887b4..e6a29177301dd2fbabb741ac6e6ba10d4b545ffc 100644 --- a/app/code/Magento/Tax/Test/Unit/Model/Calculation/RateRepositoryTest.php +++ b/app/code/Magento/Tax/Test/Unit/Model/Calculation/RateRepositoryTest.php @@ -307,7 +307,8 @@ class RateRepositoryTest extends \PHPUnit\Framework\TestCase ->with($rateTitles) ->willThrowException($expectedException); $this->rateRegistryMock->expects($this->never())->method('registerTaxRate')->with($rateMock); - $this->expectException($exceptionType, $exceptionMessage); + $this->expectException($exceptionType); + $this->expectExceptionMessage($exceptionMessage); $this->model->save($rateMock); } diff --git a/app/code/Magento/Tax/Test/Unit/Model/Calculation/RateTest.php b/app/code/Magento/Tax/Test/Unit/Model/Calculation/RateTest.php index 5a5abfd828d889f7e00fd122bd5d7d70825411c3..c0a04a3fb45f64e84fbf8468936a2f553851ae46 100644 --- a/app/code/Magento/Tax/Test/Unit/Model/Calculation/RateTest.php +++ b/app/code/Magento/Tax/Test/Unit/Model/Calculation/RateTest.php @@ -46,7 +46,8 @@ class RateTest extends \PHPUnit\Framework\TestCase */ public function testExceptionOfValidation($exceptionMessage, $data) { - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, $exceptionMessage); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage($exceptionMessage); $rate = $this->objectHelper->getObject( \Magento\Tax\Model\Calculation\Rate::class, ['resource' => $this->resourceMock] diff --git a/app/code/Magento/Tax/Test/Unit/Model/TaxRuleRepositoryTest.php b/app/code/Magento/Tax/Test/Unit/Model/TaxRuleRepositoryTest.php index 182e1b43d786c3f0763f438566a0f4efc067ee29..f4151cd18ba665d365414621db3b800f6dd7a9f9 100644 --- a/app/code/Magento/Tax/Test/Unit/Model/TaxRuleRepositoryTest.php +++ b/app/code/Magento/Tax/Test/Unit/Model/TaxRuleRepositoryTest.php @@ -163,7 +163,8 @@ class TaxRuleRepositoryTest extends \PHPUnit\Framework\TestCase ->willThrowException($exceptionObject); $this->taxRuleRegistry->expects($this->never())->method('registerTaxRule'); - $this->expectException($exceptionName, $exceptionMessage); + $this->expectException($exceptionName); + $this->expectExceptionMessage($exceptionMessage); $this->model->save($rule); } diff --git a/app/code/Magento/Theme/Test/Unit/Observer/CleanThemeRelatedContentObserverTest.php b/app/code/Magento/Theme/Test/Unit/Observer/CleanThemeRelatedContentObserverTest.php index 0eaa50968561644cfdddd91d685e266f88197272..f1f4664c8541d05550e428df8dd3d64426c31dad 100644 --- a/app/code/Magento/Theme/Test/Unit/Observer/CleanThemeRelatedContentObserverTest.php +++ b/app/code/Magento/Theme/Test/Unit/Observer/CleanThemeRelatedContentObserverTest.php @@ -105,7 +105,8 @@ class CleanThemeRelatedContentObserverTest extends \PHPUnit\Framework\TestCase $this->themeConfig->expects($this->any())->method('isThemeAssignedToStore')->with($themeMock)->willReturn(true); - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, 'Theme isn\'t deletable.'); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage('Theme isn\'t deletable.'); $this->themeObserver->execute($observerMock); } diff --git a/app/code/Magento/Ui/Test/Unit/Model/ResourceModel/BookmarkRepositoryTest.php b/app/code/Magento/Ui/Test/Unit/Model/ResourceModel/BookmarkRepositoryTest.php index 00a88437c8cb1e2e3de147cbca38127e92c5c78c..a0cec2258d658ec12d05dd0160187bea9bc92488 100644 --- a/app/code/Magento/Ui/Test/Unit/Model/ResourceModel/BookmarkRepositoryTest.php +++ b/app/code/Magento/Ui/Test/Unit/Model/ResourceModel/BookmarkRepositoryTest.php @@ -94,7 +94,8 @@ class BookmarkRepositoryTest extends \PHPUnit\Framework\TestCase ->method('save') ->with($this->bookmarkMock) ->willThrowException(new \Exception($exceptionMessage)); - $this->expectException(\Magento\Framework\Exception\CouldNotSaveException::class, __($exceptionMessage)); + $this->expectException(\Magento\Framework\Exception\CouldNotSaveException::class); + $this->expectExceptionMessage($exceptionMessage); $this->bookmarkRepository->save($this->bookmarkMock); } @@ -143,7 +144,8 @@ class BookmarkRepositoryTest extends \PHPUnit\Framework\TestCase ->method('delete') ->with($this->bookmarkMock) ->willThrowException(new \Exception($exceptionMessage)); - $this->expectException(\Magento\Framework\Exception\CouldNotDeleteException::class, __($exceptionMessage)); + $this->expectException(\Magento\Framework\Exception\CouldNotDeleteException::class); + $this->expectExceptionMessage($exceptionMessage); $this->assertTrue($this->bookmarkRepository->delete($this->bookmarkMock)); } diff --git a/app/code/Magento/Webapi/Controller/Rest.php b/app/code/Magento/Webapi/Controller/Rest.php index 1f8260c93c57485e97a384a6fc0ab08fd8d69f24..dc061aeea99e7bf50e2fa2eb2aff16909d0ac139 100644 --- a/app/code/Magento/Webapi/Controller/Rest.php +++ b/app/code/Magento/Webapi/Controller/Rest.php @@ -303,7 +303,7 @@ class Rest implements \Magento\Framework\App\FrontControllerInterface $responseBody = $this->swaggerGenerator->generate( $requestedServices, $this->_request->getScheme(), - $this->_request->getHttpHost(), + $this->_request->getHttpHost(false), $this->_request->getRequestUri() ); $this->_response->setBody($responseBody)->setHeader('Content-Type', 'application/json'); diff --git a/app/code/Magento/Webapi/Test/Unit/ExceptionTest.php b/app/code/Magento/Webapi/Test/Unit/ExceptionTest.php index f4ba35194725d3071e4bfd26c01a6c2175f47651..c3761c4e24862ce985834866199b1e9f49bb277d 100644 --- a/app/code/Magento/Webapi/Test/Unit/ExceptionTest.php +++ b/app/code/Magento/Webapi/Test/Unit/ExceptionTest.php @@ -43,7 +43,8 @@ class ExceptionTest extends \PHPUnit\Framework\TestCase */ public function testConstructInvalidHttpCode($httpCode) { - $this->expectException('InvalidArgumentException', "The specified HTTP code \"{$httpCode}\" is invalid."); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage("The specified HTTP code \"{$httpCode}\" is invalid."); /** Create \Magento\Framework\Webapi\Exception object with invalid code. */ /** Valid codes range is from 400 to 599. */ new \Magento\Framework\Webapi\Exception(__('Message'), 0, $httpCode); diff --git a/app/code/Magento/Weee/Test/Unit/Model/Attribute/Backend/Weee/TaxTest.php b/app/code/Magento/Weee/Test/Unit/Model/Attribute/Backend/Weee/TaxTest.php index 9e220091d6c2e568f23f7cdf3e3b0466f22d8762..8ba8afaa1a8ab79e6f305a8998061d70fe3996c7 100644 --- a/app/code/Magento/Weee/Test/Unit/Model/Attribute/Backend/Weee/TaxTest.php +++ b/app/code/Magento/Weee/Test/Unit/Model/Attribute/Backend/Weee/TaxTest.php @@ -82,7 +82,8 @@ class TaxTest extends \PHPUnit\Framework\TestCase ->will($this->returnValue($taxes)); // Exception caught - $this->expectException('Exception', $expected); + $this->expectException('Exception'); + $this->expectExceptionMessage($expected); $modelMock->validate($productMock); } diff --git a/app/code/Magento/Wishlist/Test/Unit/Model/ItemTest.php b/app/code/Magento/Wishlist/Test/Unit/Model/ItemTest.php index 95e65a1740b72c0c818715c051ac39a0af3e8c0d..0b1057683de8615039edb311afffdeaf5aad29e9 100644 --- a/app/code/Magento/Wishlist/Test/Unit/Model/ItemTest.php +++ b/app/code/Magento/Wishlist/Test/Unit/Model/ItemTest.php @@ -299,7 +299,8 @@ class ItemTest extends \PHPUnit\Framework\TestCase public function testGetProductWithException() { - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, __('Cannot specify product.')); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage('Cannot specify product.'); $this->model->getProduct(); } diff --git a/dev/tests/acceptance/.env.example b/dev/tests/acceptance/.env.example index 500d54c3881ef7ae77d622d940e9166999ce8666..7aec49b47bbc7598e567e5a0bfeec46a4f67b940 100644 --- a/dev/tests/acceptance/.env.example +++ b/dev/tests/acceptance/.env.example @@ -1,22 +1,55 @@ #Copyright © Magento, Inc. All rights reserved. #See COPYING.txt for license details. +#*** Start of example .env ***# +# +# MAGENTO_BASE_URL=http://127.0.0.1:32772/ +# +# MAGENTO_BACKEND_NAME=admin +# MAGENTO_ADMIN_USERNAME=admin +# MAGENTO_ADMIN_PASSWORD=123123q +# +# SELENIUM_HOST=127.0.0.1 +# SELENIUM_PORT=4444 +# SELENIUM_PROTOCOL=http +# SELENIUM_PATH=/wd/hub +# +# MAGENTO_RESTAPI_SERVER_HOST=127.0.0.1 +# MAGENTO_RESTAPI_SERVER_PORT=32769 +# +# TESTS_BP=/Users/First_Last/GitHub/magento2ce/dev/tests/acceptance/tests/functional +# FW_BP=/Users/First_Last/GitHub/magento2-functional-testing-framework +# TESTS_MODULE_PATH=/Users/First_Last/GitHub/magento2ce/dev/tests/acceptance/tests/functional/Magento/FunctionalTest +# MODULE_WHITELIST=Magento_NewModule +# +#*** End of example .env ***# + + +#*** Start of .env ***# + +#*** Set the base URL for your Magento instance ***# MAGENTO_BASE_URL= +#*** Set the Admin Username and Password for your Magento instance ***# MAGENTO_BACKEND_NAME= MAGENTO_ADMIN_USERNAME= MAGENTO_ADMIN_PASSWORD= -#*** Uncomment and set host & port if your dev environment needs different value other than MAGENTO_BASE_URL for Rest Api Requests ***# +#*** Selenium Server Protocol, Host, Port, and Path, with local defaults. Uncomment and change if not running Selenium locally. +#SELENIUM_HOST=127.0.0.1 +#SELENIUM_PORT=4444 +#SELENIUM_PROTOCOL=http +#SELENIUM_PATH=/wd/hub + +#*** Uncomment and set host & port if your dev environment needs different value other than MAGENTO_BASE_URL for Rest API Requests ***# #MAGENTO_RESTAPI_SERVER_HOST= #MAGENTO_RESTAPI_SERVER_PORT= -DB_DSN= -DB_USERNAME= -DB_PASSWORD= - -#*** uncomment these properties to set up a dev environment with symlinked projects***# +#*** Uncomment these properties to set up a dev environment with symlinked projects ***# #TESTS_BP= #FW_BP= #TESTS_MODULE_PATH= -#MODULE_WHITELIST= \ No newline at end of file +#MODULE_WHITELIST= +#MFTF_DEBUG=true + +#*** End of .env ***# \ No newline at end of file diff --git a/dev/tests/acceptance/README.md b/dev/tests/acceptance/README.md new file mode 100755 index 0000000000000000000000000000000000000000..6350b9cabcdfa2d86e8cd627ca40a86fd12d0c24 --- /dev/null +++ b/dev/tests/acceptance/README.md @@ -0,0 +1,64 @@ +# Magento Functional Testing Framework + +---- + +## System Requirements +[Magento Functional Testing Framework system requirements](http://devdocs.magento.com/guides/v2.2/magento-functional-testing-framework/getting-started.html#prepare-environment) + +## Installation +To install the Magento Functional Testing Framework, see [Getting Started](http://devdocs.magento.com/guides/v2.2/magento-functional-testing-framework/getting-started.html) + +## Contributing +Contributions can take the form of new components or features, changes to existing features, tests, documentation (such as developer guides, user guides, examples, or specifications), bug fixes, optimizations, or just good suggestions. + +To learn about how to make a contribution, click [here][1]. + +To open an issue, click [here][2]. + +To suggest documentation improvements, click [here][3]. + +[1]: <http://devdocs.magento.com/guides/v2.2/magento-functional-testing-framework/contribution-guidelines.html> +[2]: <https://github.com/magento/magento2-functional-testing-framework/issues> +[3]: <http://devdocs.magento.com> + +### Labels applied by the MFTF team + +Refer to the tables with descriptions of each label below. These labels are applied by the MFTF development team to community contributed issues and pull requests, to communicate status, impact, or which team is working on it. + +### Pull Request Status + +Label| Description +---|--- +**accept**| The pull request has been accepted and will be merged into mainline code. +**reject**| The pull request has been rejected and will not be merged into mainline code. Possible reasons can include but are not limited to: issue has already been fixed in another code contribution, or there is an issue with the code contribution. +**needsUpdate**| The Magento Team needs additional information from the reporter to properly prioritize and process the pull request. + +### Issue Resolution Status + +Label| Description +---|--- +**acknowledged**| The Magento Team has validated the issue and an internal ticket has been created. +**needsUpdate**| The Magento Team needs additional information from the reporter to properly prioritize and process the issue or pull request. +**cannot reproduce**| The Magento Team has not confirmed that this issue contains the minimum required information to reproduce. +**non-issue**| The Magento Team has not recognised any issue according to provided information. + +### Domains Impacted + +Label| Description +---|--- +**PROD**| Affects the Product team (mostly feature requests or business logic change). +**DOC**| Affects Documentation domain. +**TECH**| Affects Architect Group (mostly to make decisions around technology changes). + +### Type + +Label| Description +---|--- +**bugfix**| The issue or pull request relates to bug fixing. +**enhancement**| The issue or pull request that raises the MFTF to a higher degree (for example new features, optimization, refactoring, etc). + +## License + +Each Magento source file included in this distribution is licensed under APL 3.0 + +Please see LICENSE_APL3.txt for the full text of the APL 3.0 license or contact license@magentocommerce.com for a copy. diff --git a/dev/tests/acceptance/RoboFile.php b/dev/tests/acceptance/RoboFile.php index c255e9f06539254f56ae56efd262b9238da0d079..8ae973ea81dc5d61918b13b4a93a325f2f2ff0e6 100644 --- a/dev/tests/acceptance/RoboFile.php +++ b/dev/tests/acceptance/RoboFile.php @@ -21,8 +21,8 @@ class RoboFile extends \Robo\Tasks function cloneFiles() { $this->_exec('cp -vn .env.example .env'); - $this->_exec('cp -vn codeception.dist.yml codeception.yml'); - $this->_exec('cp -vn tests/functional.suite.dist.yml tests/functional.suite.yml'); + $this->_exec('cp -vf codeception.dist.yml codeception.yml'); + $this->_exec('cp -vf tests'. DIRECTORY_SEPARATOR .'functional.suite.dist.yml tests'. DIRECTORY_SEPARATOR .'functional.suite.yml'); } /** @@ -34,7 +34,7 @@ class RoboFile extends \Robo\Tasks function buildProject() { $this->cloneFiles(); - $this->_exec('./vendor/bin/codecept build'); + $this->_exec('vendor'. DIRECTORY_SEPARATOR .'bin'. DIRECTORY_SEPARATOR .'codecept build'); } /** @@ -72,75 +72,45 @@ class RoboFile extends \Robo\Tasks } /** - * Run all Functional tests using the Chrome environment. + * Run all Functional tests. * * @return void */ - function chrome() + function functional() { - $this->_exec('./vendor/bin/codecept run functional --env chrome --skip-group skip'); + $this->_exec('.' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'codecept run functional --skip-group skip'); } /** - * Run all Functional tests using the FireFox environment. - * - * @return void - */ - function firefox() - { - $this->_exec('./vendor/bin/codecept run functional --env firefox --skip-group skip'); - } - - /** - * Run all Functional tests using the PhantomJS environment. - * - * @return void - */ - function phantomjs() - { - $this->_exec('./vendor/bin/codecept run functional --env phantomjs --skip-group skip'); - } - - /** - * Run all Functional tests using the Chrome Headless environment. - * - * @return void - */ - function headless() - { - $this->_exec('./vendor/bin/codecept run functional --env headless --skip-group skip'); - } - - /** - * Run all Tests with the specified @group tag, excluding @group 'skip', using the Chrome environment. + * Run all Tests with the specified @group tag, excluding @group 'skip'. * * @param string $args * @return void */ function group($args = '') { - $this->taskExec('./vendor/bin/codecept run functional --verbose --steps --env chrome --skip-group skip --group')->args($args)->run(); + $this->taskExec('.' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'codecept run functional --verbose --steps --skip-group skip --group')->args($args)->run(); } /** - * Run all Functional tests located under the Directory Path provided using the Chrome environment. + * Run all Functional tests located under the Directory Path provided. * * @param string $args * @return void */ function folder($args = '') { - $this->taskExec('./vendor/bin/codecept run functional --env chrome')->args($args)->run(); + $this->taskExec('.' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'codecept run functional')->args($args)->run(); } /** - * Run all Tests marked with the @group tag 'example', using the Chrome environment. + * Run all Tests marked with the @group tag 'example'. * * @return void */ function example() { - $this->_exec('./vendor/bin/codecept run --env chrome --group example --skip-group skip'); + $this->_exec('.' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'codecept run --group example --skip-group skip'); } /** @@ -150,7 +120,7 @@ class RoboFile extends \Robo\Tasks */ function allure1Generate() { - return $this->_exec('allure generate tests/_output/allure-results/ -o tests/_output/allure-report/'); + return $this->_exec('allure generate tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-results'. DIRECTORY_SEPARATOR .' -o tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-report'. DIRECTORY_SEPARATOR .''); } /** @@ -160,7 +130,7 @@ class RoboFile extends \Robo\Tasks */ function allure2Generate() { - return $this->_exec('allure generate tests/_output/allure-results/ --output tests/_output/allure-report/ --clean'); + return $this->_exec('allure generate tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-results'. DIRECTORY_SEPARATOR .' --output tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-report'. DIRECTORY_SEPARATOR .' --clean'); } /** @@ -170,7 +140,7 @@ class RoboFile extends \Robo\Tasks */ function allure1Open() { - $this->_exec('allure report open --report-dir tests/_output/allure-report/'); + $this->_exec('allure report open --report-dir tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-report'. DIRECTORY_SEPARATOR .''); } /** @@ -180,7 +150,7 @@ class RoboFile extends \Robo\Tasks */ function allure2Open() { - $this->_exec('allure open --port 0 tests/_output/allure-report/'); + $this->_exec('allure open --port 0 tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-report'. DIRECTORY_SEPARATOR .''); } /** diff --git a/dev/tests/acceptance/composer.json b/dev/tests/acceptance/composer.json new file mode 100755 index 0000000000000000000000000000000000000000..a380c325a5e281fdd1179debb9b015406adc515b --- /dev/null +++ b/dev/tests/acceptance/composer.json @@ -0,0 +1,35 @@ +{ + "name": "magento/magento2ce-functional-tests", + "description": "Magento 2 (Open Source) Functional Tests", + "type": "project", + "version": "1.0.0-dev", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "config": { + "sort-packages": true + }, + "repositories": [ + { + "type": "git", + "url": "git@github.com:magento/magento2-functional-testing-framework.git" + } + ], + "require": { + "allure-framework/allure-codeception": "dev-master#af40af5ae2b717618a42fe3e137d75878508c75d", + "codeception/codeception": "~2.3.4", + "consolidation/robo": "^1.0.0", + "symfony/process": ">=2.7 <3.4", + "henrikbjorn/lurker": "^1.2", + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0", + "vlucas/phpdotenv": "~2.4" + }, + "autoload": { + "psr-4": { + "Magento\\": "tests/functional/Magento" + } + }, + "prefer-stable": true +} diff --git a/dev/tests/acceptance/tests/_bootstrap.php b/dev/tests/acceptance/tests/_bootstrap.php index 80392c9f53fa504323a4ba70b25e05aa4dfcf9d2..4313999476197f1eece0d41ec2cc623defe707ba 100644 --- a/dev/tests/acceptance/tests/_bootstrap.php +++ b/dev/tests/acceptance/tests/_bootstrap.php @@ -22,3 +22,9 @@ if (file_exists(PROJECT_ROOT . '/.env')) { } } defined('FW_BP') || define('FW_BP', PROJECT_ROOT . $RELATIVE_FW_PATH); + +// add the debug flag here +$debug_mode = $_ENV['MFTF_DEBUG'] ?? false; +if (!(bool)$debug_mode && extension_loaded('xdebug')) { + xdebug_disable(); +} diff --git a/dev/tests/acceptance/tests/_suite/sampleSuite.xml b/dev/tests/acceptance/tests/_suite/sampleSuite.xml index f9b142d89c8a108349a2964e34146bbc20ca88c5..4172b526683d70b25725b6d3eea4db387e1d1a3a 100644 --- a/dev/tests/acceptance/tests/_suite/sampleSuite.xml +++ b/dev/tests/acceptance/tests/_suite/sampleSuite.xml @@ -9,14 +9,14 @@ <suites xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Suite/etc/suiteSchema.xsd"> <suite name="mySuite"> <before> - <createData entity="_defaultCategory" mergeKey="createCategory"/> - <createData entity="_defaultProduct" mergeKey="createProduct"> + <createData entity="_defaultCategory" stepKey="createCategory"/> + <createData entity="_defaultProduct" stepKey="createProduct"> <required-entity createDataKey="createCategory"/> </createData> </before> <after> - <deleteData mergeKey="deleteMyProduct" createDataKey="createProduct"/> - <deleteData mergeKey="deleteMyCategory" createDataKey="createCategory"/> + <deleteData stepKey="deleteMyProduct" createDataKey="createProduct"/> + <deleteData stepKey="deleteMyCategory" createDataKey="createCategory"/> </after> <include> <group name="example"/> diff --git a/dev/tests/acceptance/tests/functional.suite.dist.yml b/dev/tests/acceptance/tests/functional.suite.dist.yml index afba145ca9a0c9d4763ed2624f6038da2988fdea..f15d66d983a714920a0f0c0c647163e2a9d667c1 100644 --- a/dev/tests/acceptance/tests/functional.suite.dist.yml +++ b/dev/tests/acceptance/tests/functional.suite.dist.yml @@ -31,3 +31,11 @@ modules: username: "%MAGENTO_ADMIN_USERNAME%" password: "%MAGENTO_ADMIN_PASSWORD%" pageload_timeout: 30 + host: %SELENIUM_HOST% + port: %SELENIUM_PORT% + protocol: %SELENIUM_PROTOCOL% + path: %SELENIUM_PATH% + capabilities: + chromeOptions: + args: ["--start-maximized", "--disable-extensions", "--enable-automation"] + diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdminNotification/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdminNotification/README.md index 4a84a064d1c7f6f440566d8b66751465c3173dec..c9275af071fa4e93ec6374dc01ab65b03198e9e4 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdminNotification/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdminNotification/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_AdminNotification** Module. +The Functional Tests Module for **Magento_AdminNotification** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdminNotification/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdminNotification/composer.json index 328161117f78ca6d726e732a229e4acff3b3175f..31ce654f6c78075b654a51f4b799eedb15c913a3 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdminNotification/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdminNotification/composer.json @@ -1,46 +1,35 @@ { - "name": "magento/magento2-functional-test-admin-notification", - "description": "Magento 2 Acceptance Test Module Admin Notification", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-media-storage": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "name": "magento/magento2-functional-test-module-admin-notification", + "description": "Magento 2 Functional Test Module Admin Notification", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { "psr-4": { - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\AdminNotification\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/AdminNotification" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdminNotification" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport/README.md index 224e08d3e84c2bd33a2662d37d6041e57fba674b..2f01efe59522b317d4cc971a0a16f55433af025a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_AdvancedPricingImportExport** Module. +The Functional Tests Module for **Magento_AdvancedPricingImportExport** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport/composer.json index 32562af20944b50f2588f3514da4f2c6276c649e..7cba5e091bc0ae850c789f9b9ab841540880ec39 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport/composer.json @@ -1,55 +1,38 @@ { "name": "magento/magento2-functional-test-module-advanced-pricing-import-export", - "description": "Magento 2 Acceptance Test Module Advanced Pricing Import Export", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-import-export": "dev-master", - "magento/magento2-functional-test-module-catalog-import-export": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master" - }, + "description": "Magento 2 Functional Test Module Advanced Pricing Import Export", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\AdvancedPricingImportExport\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/AdvancedPricingImportExport" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Analytics/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Analytics/composer.json index 21e343f4169279c9d93cb97fbb15b7153804a218..9245dc6e40766e0922bcff7f42d229d4fb73cc41 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Analytics/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Analytics/composer.json @@ -1,45 +1,28 @@ { "name": "magento/magento2-functional-test-module-analytics", "description": "Magento 2 Acceptance Test Module Analytics", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-integration": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master" - }, "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-integration": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Analytics\\": "" } }, "extra": { diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorization/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorization/README.md index b540c210faf9285268c8e8320e5e9a44cec240c5..c21edf02d3bc2f0882a4d8f4ebc2584924c9e9d9 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorization/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorization/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Authorization** Module. +The Functional Tests Module for **Magento_Authorization** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorization/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorization/composer.json index 6c0ac32008789a0e10a91066fd67186804a099b7..e69220b9ca44dc028c9d8112c0ce60ea27c016c9 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorization/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorization/composer.json @@ -1,49 +1,32 @@ { "name": "magento/magento2-functional-test-module-authorization", - "description": "Magento 2 Acceptance Test Module Authorization", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Authorization", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Authorization\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Authorization" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorization" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorizenet/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorizenet/README.md index 86a31896a223d3b4484ee6baa959d4ddeee1957b..c3a550699f66178aa532a274aec84aaef92e0515 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorizenet/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorizenet/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Authorizenet** Module. +The Functional Tests Module for **Magento_Authorizenet** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorizenet/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorizenet/composer.json index 898a84016c6b12be74378d90f1164615e6194f84..9b67e3ea371541eeb6cbcbf41a5b22d094802d3c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorizenet/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorizenet/composer.json @@ -1,55 +1,38 @@ { "name": "magento/magento2-functional-test-module-authorizenet", - "description": "Magento 2 Acceptance Test Module Authorizenet", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master" - }, + "description": "Magento 2 Functional Test Module Authorizenet", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Authorizenet\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Authorizenet" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Authorizenet" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/Cest/AdminLoginCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/Cest/AdminLoginCest.xml index a50d75c167c9c73409f57bb75fcc58799382fb58..fbce6aa6388ddbe99f9382449f74573ef442d1c6 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/Cest/AdminLoginCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/Cest/AdminLoginCest.xml @@ -21,16 +21,12 @@ <testCaseId value="MAGETWO-71572"/> <group value="example"/> <group value="login"/> - <env value="chrome"/> - <env value="firefox"/> - <env value="phantomjs"/> - <env value="headless"/> </annotations> - <amOnPage url="{{AdminLoginPage.url}}" mergeKey="amOnAdminLoginPage"/> - <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" mergeKey="fillUsername"/> - <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" mergeKey="fillPassword"/> - <click selector="{{AdminLoginFormSection.signIn}}" mergeKey="clickOnSignIn"/> - <seeInCurrentUrl url="{{AdminLoginPage.url}}" mergeKey="seeAdminLoginUrl"/> + <amOnPage url="{{AdminLoginPage.url}}" stepKey="amOnAdminLoginPage"/> + <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" stepKey="fillUsername"/> + <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="fillPassword"/> + <click selector="{{AdminLoginFormSection.signIn}}" stepKey="clickOnSignIn"/> + <seeInCurrentUrl url="{{AdminLoginPage.url}}" stepKey="seeAdminLoginUrl"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/README.md index 4cbe742ea6baa0ab05f741d21cc2ac8a24fa59d0..0a7d14223c0b2afeb23fde5ebf67d21f8195f67b 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Backend** Module. +The Functional Tests Module for **Magento_Backend** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/composer.json index 6aa559de5c3df2b99d56b5f82602521dbf176092..ffebc321c4dee1ac8ee62b67b6084f66c5f90c2e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/composer.json @@ -1,63 +1,47 @@ { "name": "magento/magento2-functional-test-module-backend", - "description": "Magento 2 Acceptance Test Module Backend", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-developer": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-reports": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-user": "dev-master", - "magento/magento2-functional-test-module-security": "dev-master", - "magento/magento2-functional-test-module-backup": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-translation": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-require-js": "dev-master" - }, + "description": "Magento 2 Functional Test Module Backend", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backup": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-developer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-reports": "100.0.0-dev", + "magento/magento2-functional-test-module-require-js": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-security": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-translation": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-user": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Backend\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Backend" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backup/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backup/README.md index 962fdffd88da5be7304c11ca25842fd693ed9141..dc2a3ab06f9d3792fc1f2e9e5208fb9380dbebfc 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backup/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backup/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Backup** Module. +The Functional Tests Module for **Magento_Backup** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backup/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backup/composer.json index 95dc878ef341ea5af1e4771f6022554983d3b9ca..d4f0c49d2b1a8362de3ed0173942d27c0abb8974 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backup/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backup/composer.json @@ -1,50 +1,34 @@ { "name": "magento/magento2-functional-test-module-backup", - "description": "Magento 2 Acceptance Test Module Backup", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backup": "dev-master" - }, + "description": "Magento 2 Functional Test Module Backup", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-cron": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Backup\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Backup" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backup" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Braintree/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Braintree/README.md index a4217e846b529c257b6d9473423df7bad58dffc5..b0b637c9d9621b0be61badb67097a4ca7647afa7 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Braintree/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Braintree/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Braintree** Module. +The Functional Tests Module for **Magento_Braintree** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Braintree/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Braintree/composer.json index c9eeab4fdb5d5c80c0e9224e95461fdbcbbd55cc..e66481c501f0675e6b6db0baa964476bc2fbd29a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Braintree/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Braintree/composer.json @@ -1,60 +1,44 @@ { "name": "magento/magento2-functional-test-module-braintree", - "description": "Magento 2 Acceptance Test Module Braintree", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-vault": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-paypal": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Braintree", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-instant-purchase": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-paypal": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-vault": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Braintree\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Braintree" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Braintree" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Bundle/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Bundle/README.md index 95794907f2cfd1431537cc215d0bffe33479b897..9579aec287f4cfb47689f151839cafa1de63c1e8 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Bundle/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Bundle/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Bundle** Module. +The Functional Tests Module for **Magento_Bundle** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Bundle/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Bundle/composer.json index 649a2f29700d2ff1857ee368e8f00b5744a07047..cab7dce6a95e5944f15e34dbb431177220579eb7 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Bundle/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Bundle/composer.json @@ -1,63 +1,46 @@ { "name": "magento/magento2-functional-test-module-bundle", - "description": "Magento 2 Acceptance Test Module Bundle", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-catalog-rule": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-gift-message": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Bundle", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-gift-message": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Bundle\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Bundle" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Bundle" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/BundleImportExport/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/BundleImportExport/README.md index 83453308c0c5c0dba518811deec572b8eacfcb3b..dc155d12f30db01660ecebb97550fdb4238467cd 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/BundleImportExport/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/BundleImportExport/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_BundleImportExport** Module. +The Functional Tests Module for **Magento_BundleImportExport** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/BundleImportExport/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/BundleImportExport/composer.json index 2abf6a22a8edc54d294e40fcedcff75dfea13c41..9fd81822a18036c4a9cbb135129283e4d9243007 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/BundleImportExport/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/BundleImportExport/composer.json @@ -1,53 +1,36 @@ { "name": "magento/magento2-functional-test-module-bundle-import-export", - "description": "Magento 2 Acceptance Test Module Bundle Import Export", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-import-export": "dev-master", - "magento/magento2-functional-test-module-catalog-import-export": "dev-master", - "magento/magento2-functional-test-module-bundle": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master" - }, + "description": "Magento 2 Functional Test Module Bundle Import Export", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-bundle": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-import-export": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\BundleImportExport\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/BundleImportExport" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/BundleImportExport" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CacheInvalidate/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CacheInvalidate/README.md index 34d8ae9c366667695388f34d1acbe54392a7201f..47571bdb7f212db6796a5fec3e746f84812d170b 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CacheInvalidate/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CacheInvalidate/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_CacheInvalidate** Module. +The Functional Tests Module for **Magento_CacheInvalidate** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CacheInvalidate/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CacheInvalidate/composer.json index 9ac9043f1b1d2ba828db6a65bfa73485e3893750..e8c58ac7a2d0a2ff8a69bd48321af1f0712ffbb9 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CacheInvalidate/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CacheInvalidate/composer.json @@ -1,49 +1,32 @@ { "name": "magento/magento2-functional-test-module-cache-invalidate", - "description": "Magento 2 Acceptance Test Module Cache Invalidate", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-page-cache": "dev-master" - }, + "description": "Magento 2 Functional Test Module Cache Invalidate", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-page-cache": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CacheInvalidate\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CacheInvalidate" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CacheInvalidate" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Captcha/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Captcha/README.md index 3eee7b92bd32d71d422724454465617059a9c8df..f0d35613be75d5dfed38148a5e10a461b36872b5 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Captcha/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Captcha/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Captcha** Module. +The Functional Tests Module for **Magento_Captcha** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Captcha/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Captcha/composer.json index 60fff5eb2fecf6d0cf9e09b769dd255a70e574d4..5c3f0acfc8fcb966cc7fb6d224e0ca18604f25ed 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Captcha/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Captcha/composer.json @@ -1,52 +1,35 @@ { "name": "magento/magento2-functional-test-module-captcha", - "description": "Magento 2 Acceptance Test Module Captcha", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Captcha", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Captcha\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Captcha" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Captcha" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Cest/AdminCreateCategoryCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Cest/AdminCreateCategoryCest.xml index 550e668b0808f9f09cd975edce496fe1b495997a..1d12792785104f95494c7a1faf5ddd5e7bf0dbed 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Cest/AdminCreateCategoryCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Cest/AdminCreateCategoryCest.xml @@ -14,7 +14,7 @@ <stories value="Create a Category via the Admin"/> </annotations> <after> - <amOnPage url="admin/admin/auth/logout/" mergeKey="amOnLogoutPage"/> + <amOnPage url="admin/admin/auth/logout/" stepKey="amOnLogoutPage"/> </after> <test name="CreateCategoryViaAdmin"> <annotations> @@ -23,27 +23,21 @@ <severity value="CRITICAL"/> <testCaseId value="MAGETWO-72102"/> <group value="category"/> - <env value="chrome"/> - <env value="headless"/> </annotations> - <amOnPage url="{{AdminLoginPage.url}}" mergeKey="amOnAdminLoginPage"/> - <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" mergeKey="fillUsername"/> - <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" mergeKey="fillPassword"/> - <click selector="{{AdminLoginFormSection.signIn}}" mergeKey="clickOnSignIn"/> - <amOnPage url="{{AdminCategoryPage.url}}" mergeKey="navigateToCategoryPage"/> - <waitForPageLoad mergeKey="waitForPageLoad1"/> - <click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" mergeKey="clickOnAddSubCategory"/> - <fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{SimpleSubCategory.name}}" mergeKey="enterCategoryName"/> - <click selector="{{AdminCategorySEOSection.SectionHeader}}" mergeKey="openSEO"/> - <fillField selector="{{AdminCategorySEOSection.UrlKeyInput}}" userInput="{{SimpleSubCategory.name_lwr}}" mergeKey="enterURLKey"/> - <click selector="{{AdminCategoryMainActionsSection.SaveButton}}" mergeKey="saveCategory"/> - <seeElement selector="{{AdminCategoryMessagesSection.SuccessMessage}}" mergeKey="assertSuccess"/> + <loginAsAdmin stepKey="loginAsAdmin"/> + <amOnPage url="{{AdminCategoryPage.url}}" stepKey="navigateToCategoryPage"/> + <waitForPageLoad time="30" stepKey="waitForPageLoad1"/> + <click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" stepKey="clickOnAddSubCategory"/> + <fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{SimpleSubCategory.name}}" stepKey="enterCategoryName"/> + <click selector="{{AdminCategorySEOSection.SectionHeader}}" stepKey="openSEO"/> + <fillField selector="{{AdminCategorySEOSection.UrlKeyInput}}" userInput="{{SimpleSubCategory.name_lwr}}" stepKey="enterURLKey"/> + <click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="saveCategory"/> + <seeElement selector="{{AdminCategoryMessagesSection.SuccessMessage}}" stepKey="assertSuccess"/> <!-- Literal URL below, need to refactor line + StorefrontCategoryPage when support for variable URL is implemented--> - <amOnPage url="/{{SimpleSubCategory.name_lwr}}.html" mergeKey="goToCategoryFrontPage"/> - <waitForPageLoad mergeKey="waitForPageLoad2"/> - <seeInTitle userInput="{{SimpleSubCategory.name}}" mergeKey="assertTitle"/> - <see selector="{{StorefrontCategoryMainSection.CategoryTitle}}" userInput="{{SimpleSubCategory.name_lwr}}" mergeKey="assertInfo1"/> + <amOnPage url="/{{SimpleSubCategory.name_lwr}}.html" stepKey="goToCategoryFrontPage"/> + <seeInTitle userInput="{{SimpleSubCategory.name}}" stepKey="assertTitle"/> + <see selector="{{StorefrontCategoryMainSection.CategoryTitle}}" userInput="{{SimpleSubCategory.name_lwr}}" stepKey="assertInfo1"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Cest/AdminCreateSimpleProductCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Cest/AdminCreateSimpleProductCest.xml index f649580554eaa8703a9e77627eecfbb243172e9f..cbf0cdb4d902c4c031ed25aef8676e9257ac1357 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Cest/AdminCreateSimpleProductCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Cest/AdminCreateSimpleProductCest.xml @@ -14,7 +14,7 @@ <stories value="Create a Simple Product via Admin"/> </annotations> <before> - <createData entity="_defaultCategory" mergeKey="createPreReqCategory"/> + <createData entity="_defaultCategory" stepKey="createPreReqCategory"/> </before> <test name="CreateSimpleProductViaAdmin"> <annotations> @@ -23,48 +23,46 @@ <severity value="CRITICAL"/> <testCaseId value="MAGETWO-23414"/> <group value="product"/> - <env value="chrome"/> - <env value="headless"/> </annotations> - <amOnPage url="{{AdminLoginPage.url}}" mergeKey="navigateToAdmin"/> - <fillField userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" selector="{{AdminLoginFormSection.username}}" mergeKey="fillUsername"/> - <fillField userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" selector="{{AdminLoginFormSection.password}}" mergeKey="fillPassword"/> - <click selector="{{AdminLoginFormSection.signIn}}" mergeKey="clickLogin"/> - <amOnPage url="{{AdminProductIndexPage.url}}" mergeKey="navigateToProductIndex"/> - <click selector="{{AdminProductGridActionSection.addProductToggle}}" mergeKey="clickAddProductDropdown"/> - <click selector="{{AdminProductGridActionSection.addSimpleProduct}}" mergeKey="clickAddSimpleProduct"/> - <fillField userInput="{{_defaultProduct.name}}" selector="{{AdminProductFormSection.productName}}" mergeKey="fillName"/> - <fillField userInput="{{_defaultProduct.sku}}" selector="{{AdminProductFormSection.productSku}}" mergeKey="fillSKU"/> - <fillField userInput="{{_defaultProduct.price}}" selector="{{AdminProductFormSection.productPrice}}" mergeKey="fillPrice"/> - <fillField userInput="{{_defaultProduct.quantity}}" selector="{{AdminProductFormSection.productQuantity}}" mergeKey="fillQuantity"/> - <searchAndMultiSelectOption selector="{{AdminProductFormSection.categoriesDropdown}}" parameterArray="[$$createPreReqCategory.name$$]" mergeKey="searchAndSelectCategory"/> - <click selector="{{AdminProductSEOSection.sectionHeader}}" mergeKey="openSeoSection"/> - <fillField userInput="{{_defaultProduct.urlKey}}" selector="{{AdminProductSEOSection.urlKeyInput}}" mergeKey="fillUrlKey"/> - <click selector="{{AdminProductFormActionSection.saveButton}}" mergeKey="saveProduct"/> - <seeElement selector="{{AdminProductMessagesSection.successMessage}}" mergeKey="assertSaveMessageSuccess"/> - <seeInField userInput="{{_defaultProduct.name}}" selector="{{AdminProductFormSection.productName}}" mergeKey="assertFieldName"/> - <seeInField userInput="{{_defaultProduct.sku}}" selector="{{AdminProductFormSection.productSku}}" mergeKey="assertFieldSku"/> - <seeInField userInput="{{_defaultProduct.price}}" selector="{{AdminProductFormSection.productPrice}}" mergeKey="assertFieldPrice"/> - <click selector="{{AdminProductSEOSection.sectionHeader}}" mergeKey="openSeoSectionAssert"/> - <seeInField userInput="{{_defaultProduct.urlKey}}" selector="{{AdminProductSEOSection.urlKeyInput}}" mergeKey="assertFieldUrlKey"/> + <amOnPage url="{{AdminLoginPage.url}}" stepKey="navigateToAdmin"/> + <fillField userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" selector="{{AdminLoginFormSection.username}}" stepKey="fillUsername"/> + <fillField userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" selector="{{AdminLoginFormSection.password}}" stepKey="fillPassword"/> + <click selector="{{AdminLoginFormSection.signIn}}" stepKey="clickLogin"/> + <amOnPage url="{{AdminProductIndexPage.url}}" stepKey="navigateToProductIndex"/> + <click selector="{{AdminProductGridActionSection.addProductToggle}}" stepKey="clickAddProductDropdown"/> + <click selector="{{AdminProductGridActionSection.addSimpleProduct}}" stepKey="clickAddSimpleProduct"/> + <fillField userInput="{{_defaultProduct.name}}" selector="{{AdminProductFormSection.productName}}" stepKey="fillName"/> + <fillField userInput="{{_defaultProduct.sku}}" selector="{{AdminProductFormSection.productSku}}" stepKey="fillSKU"/> + <fillField userInput="{{_defaultProduct.price}}" selector="{{AdminProductFormSection.productPrice}}" stepKey="fillPrice"/> + <fillField userInput="{{_defaultProduct.quantity}}" selector="{{AdminProductFormSection.productQuantity}}" stepKey="fillQuantity"/> + <searchAndMultiSelectOption selector="{{AdminProductFormSection.categoriesDropdown}}" parameterArray="[$$createPreReqCategory.name$$]" stepKey="searchAndSelectCategory"/> + <click selector="{{AdminProductSEOSection.sectionHeader}}" stepKey="openSeoSection"/> + <fillField userInput="{{_defaultProduct.urlKey}}" selector="{{AdminProductSEOSection.urlKeyInput}}" stepKey="fillUrlKey"/> + <click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="saveProduct"/> + <seeElement selector="{{AdminProductMessagesSection.successMessage}}" stepKey="assertSaveMessageSuccess"/> + <seeInField userInput="{{_defaultProduct.name}}" selector="{{AdminProductFormSection.productName}}" stepKey="assertFieldName"/> + <seeInField userInput="{{_defaultProduct.sku}}" selector="{{AdminProductFormSection.productSku}}" stepKey="assertFieldSku"/> + <seeInField userInput="{{_defaultProduct.price}}" selector="{{AdminProductFormSection.productPrice}}" stepKey="assertFieldPrice"/> + <click selector="{{AdminProductSEOSection.sectionHeader}}" stepKey="openSeoSectionAssert"/> + <seeInField userInput="{{_defaultProduct.urlKey}}" selector="{{AdminProductSEOSection.urlKeyInput}}" stepKey="assertFieldUrlKey"/> <!-- Go to storefront category page, assert product visibility --> - <amOnPage url="{{StorefrontCategoryPage.url($$createPreReqCategory.name$$)}}" mergeKey="navigateToCategoryPage"/> - <waitForPageLoad mergeKey="waitForPageLoad1"/> - <see userInput="{{_defaultProduct.name}}" mergeKey="assertProductPresent"/> - <see userInput="{{_defaultProduct.price}}" mergeKey="assertProductPricePresent"/> + <amOnPage url="{{StorefrontCategoryPage.url($$createPreReqCategory.name$$)}}" stepKey="navigateToCategoryPage"/> + <waitForPageLoad stepKey="waitForPageLoad1"/> + <see userInput="{{_defaultProduct.name}}" stepKey="assertProductPresent"/> + <see userInput="{{_defaultProduct.price}}" stepKey="assertProductPricePresent"/> <!-- Go to storefront product page, assert product visibility --> - <amOnPage url="{{_defaultProduct.urlKey}}.html" mergeKey="navigateToProductPage"/> - <waitForPageLoad mergeKey="waitForPageLoad2"/> - <seeInTitle userInput="{{_defaultProduct.name}}" mergeKey="assertProductNameTitle"/> - <see userInput="{{_defaultProduct.name}}" selector="{{StorefrontProductInfoMainSection.productName}}" mergeKey="assertProductName"/> - <see userInput="{{_defaultProduct.price}}" selector="{{StorefrontProductInfoMainSection.productPrice}}" mergeKey="assertProductPrice"/> - <see userInput="{{_defaultProduct.sku}}" selector="{{StorefrontProductInfoMainSection.productSku}}" mergeKey="assertProductSku"/> + <amOnPage url="{{_defaultProduct.urlKey}}.html" stepKey="navigateToProductPage"/> + <waitForPageLoad stepKey="waitForPageLoad2"/> + <seeInTitle userInput="{{_defaultProduct.name}}" stepKey="assertProductNameTitle"/> + <see userInput="{{_defaultProduct.name}}" selector="{{StorefrontProductInfoMainSection.productName}}" stepKey="assertProductName"/> + <see userInput="{{_defaultProduct.price}}" selector="{{StorefrontProductInfoMainSection.productPrice}}" stepKey="assertProductPrice"/> + <see userInput="{{_defaultProduct.sku}}" selector="{{StorefrontProductInfoMainSection.productSku}}" stepKey="assertProductSku"/> </test> <after> - <deleteData createDataKey="createPreReqCategory" mergeKey="deletePreReqCategory"/> - <amOnPage url="admin/admin/auth/logout/" mergeKey="amOnLogoutPage"/> + <deleteData createDataKey="createPreReqCategory" stepKey="deletePreReqCategory"/> + <amOnPage url="admin/admin/auth/logout/" stepKey="amOnLogoutPage"/> </after> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/README.md index 308f84b867aff7498603628b94b268ddea559dbe..41bb2b0d6042a4c40c5e845fb13623ffb79a94e6 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Catalog** Module. +The Functional Tests Module for **Magento_Catalog** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/composer.json index 53c1bafbe43ad09430a74091bc1fdeb81f83d558..a1dc628f04c2915778b871fb5d34c59e5d3ce82e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/composer.json @@ -1,71 +1,54 @@ { "name": "magento/magento2-functional-test-module-catalog", - "description": "Magento 2 Acceptance Test Module Catalog", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-indexer": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-widget": "dev-master", - "magento/magento2-functional-test-module-wishlist": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-msrp": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-catalog-rule": "dev-master", - "magento/magento2-functional-test-module-product-alert": "dev-master", - "magento/magento2-functional-test-module-url-rewrite": "dev-master", - "magento/magento2-functional-test-module-catalog-url-rewrite": "dev-master", - "magento/magento2-functional-test-module-page-cache": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master", - "magento/magento2-functional-test-module-cookie": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master" - }, + "description": "Magento 2 Functional Test Module Catalog", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-url-rewrite": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-indexer": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-msrp": "100.0.0-dev", + "magento/magento2-functional-test-module-page-cache": "100.0.0-dev", + "magento/magento2-functional-test-module-product-alert": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-url-rewrite": "100.0.0-dev", + "magento/magento2-functional-test-module-widget": "100.0.0-dev", + "magento/magento2-functional-test-module-wishlist": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Catalog\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Catalog" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogAnalytics/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogAnalytics/composer.json index 3b45c0b6b63c77b6be7208f70bc8bf529f6e9492..b742218731f849efc617745a3ab709d8b900f67e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogAnalytics/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogAnalytics/composer.json @@ -1,42 +1,25 @@ { "name": "magento/magento2-functional-test-module-catalog-analytics", "description": "Magento 2 Acceptance Test Module Catalog Analytics", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog": "dev-master" - }, "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CatalogAnalytics\\": "" } }, "extra": { diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogImportExport/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogImportExport/composer.json index 81ee5ddcfda7d32ca382ca864d32b2382cd92b86..3f1d805ca27579d767478c6f1a438311ce3bfa0f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogImportExport/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogImportExport/composer.json @@ -1,57 +1,40 @@ { "name": "magento/magento2-functional-test-module-catalog-import-export", - "description": "Magento 2 Acceptance Test Module Catalog Import Export", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-catalog-url-rewrite": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-import-export": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master" - }, + "description": "Magento 2 Functional Test Module Catalog Import Export", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-url-rewrite": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CatalogImportExport\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CatalogImportExport" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogImportExport" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogInventory/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogInventory/README.md index 03f581dfd23d8409d1108228b1f98bc7271f554e..512a5f319fed4f97239822979ba26070a6da2d9d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogInventory/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogInventory/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_CatalogInventory** Module. +The Functional Tests Module for **Magento_CatalogInventory** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogInventory/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogInventory/composer.json index de845f8f5a88acbab8b660ef01efc58c4098f1bf..4060f8906efd7292464c22aaff91173764488fb5 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogInventory/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogInventory/composer.json @@ -1,55 +1,38 @@ { "name": "magento/magento2-functional-test-module-catalog-inventory", - "description": "Magento 2 Acceptance Test Module Catalog Inventory", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Catalog Inventory", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CatalogInventory\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CatalogInventory" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogInventory" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRule/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRule/README.md index 0e318cd24b0699970140b356502afe23866c91c3..5c67ac5b0ba9cac9669c186ad5a75e3ad6a18e48 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRule/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRule/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_CatalogRule** Module. +The Functional Tests Module for **Magento_CatalogRule** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRule/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRule/composer.json index 3952c494c78b3e919ff943c209709e72a41840ec..3d0fb94a4df09b0af31e05eb0ac1b960cd419bf6 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRule/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRule/composer.json @@ -1,55 +1,38 @@ { "name": "magento/magento2-functional-test-module-catalog-rule", - "description": "Magento 2 Acceptance Test Module Catalog Rule", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-rule": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Catalog Rule", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CatalogRule\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CatalogRule" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRule" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable/README.md index 81b8ad8679961b28fa5ee45936e39e3ca18ce665..ed2796d211d2532a6430f9132e6887c1571eda7c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_CatalogRuleConfigurable** Module. +The Functional Tests Module for **Magento_CatalogRuleConfigurable** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable/composer.json index a20e6b7a3895dadfec2566743a80d673d70b8305..0bee96876c84db8b1a9edb56fb1a4cbd0c2d499f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-catalog-rule-configurable", - "description": "Magento 2 Acceptance Test Module Catalog Rule Configurable", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-configurable-product": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-catalog-rule": "dev-master" - }, + "description": "Magento 2 Functional Test Module Catalog Rule Configurable", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-configurable-product": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CatalogRuleConfigurable\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogRuleConfigurable" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogSearch/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogSearch/README.md index 85ed3bcf15d6556a2f96376444a68d49b6b39f11..092e7bc142598c5f29e7e147d47194cf466d7f14 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogSearch/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogSearch/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_CatalogSearch** Module. +The Functional Tests Module for **Magento_CatalogSearch** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogSearch/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogSearch/composer.json index cb88f4139c886c2242b032da70503c2457fbce5a..0115d362d3b7f0bd402180a87a551bc79d143893 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogSearch/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogSearch/composer.json @@ -1,58 +1,41 @@ { "name": "magento/magento2-functional-test-module-catalog-search", - "description": "Magento 2 Acceptance Test Module Catalog Search", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-search": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master" - }, + "description": "Magento 2 Functional Test Module Catalog Search", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-search": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CatalogSearch\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CatalogSearch" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogSearch" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogUrlRewrite/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogUrlRewrite/composer.json index a563bff42a49146eddd3f31b6377a3250ec0e59d..a51be94ebafb745b09684a07f842b87a85709cd1 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogUrlRewrite/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogUrlRewrite/composer.json @@ -1,56 +1,39 @@ { "name": "magento/magento2-functional-test-module-catalog-url-rewrite", - "description": "Magento 2 Acceptance Test Module Catalog Url Rewrite", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-catalog-import-export": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-import-export": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-url-rewrite": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Catalog Url Rewrite", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-url-rewrite": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CatalogUrlRewrite\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CatalogUrlRewrite" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogUrlRewrite" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogWidget/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogWidget/README.md index b05124ac4bb3b1d0c0e0caa4ed5a610e2048cc59..43aa796462c76e301248054e983cad893ac7b026 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogWidget/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogWidget/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_CatalogWidget** Module. +The Functional Tests Module for **Magento_CatalogWidget** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogWidget/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogWidget/composer.json index 457c7c30dff312fc453326f6434906887fbb7c85..8ff933bd50a9a30867bc8c111e6e9e391e0bfed1 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogWidget/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogWidget/composer.json @@ -1,56 +1,39 @@ { "name": "magento/magento2-functional-test-module-catalog-widget", - "description": "Magento 2 Acceptance Test Module Catalog Widget", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-widget": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-rule": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-wishlist": "dev-master" - }, + "description": "Magento 2 Functional Test Module Catalog Widget", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-widget": "100.0.0-dev", + "magento/magento2-functional-test-module-wishlist": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CatalogWidget\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CatalogWidget" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CatalogWidget" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Cest/StorefrontCustomerCheckoutCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Cest/StorefrontCustomerCheckoutCest.xml index 5e97a6ab03b1b5f02f37913a0ea86962b9449d55..4531bfb84dcc998b15dd908db0795c75b0dd7427 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Cest/StorefrontCustomerCheckoutCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Cest/StorefrontCustomerCheckoutCest.xml @@ -14,16 +14,16 @@ <stories value="Checkout via the Admin"/> </annotations> <before> - <createData entity="SimpleSubCategory" mergeKey="simplecategory"/> - <createData entity="SimpleProduct" mergeKey="simpleproduct1"> + <createData entity="SimpleSubCategory" stepKey="simplecategory"/> + <createData entity="SimpleProduct" stepKey="simpleproduct1"> <required-entity createDataKey="simplecategory"/> </createData> - <createData entity="Simple_US_Customer" mergeKey="simpleuscustomer"/> + <createData entity="Simple_US_Customer" stepKey="simpleuscustomer"/> </before> <after> - <deleteData createDataKey="simpleproduct1" mergeKey="deleteProduct1"/> - <deleteData createDataKey="simplecategory" mergeKey="deleteCategory"/> - <deleteData createDataKey="simpleuscustomer" mergeKey="deleteCustomer"/> + <deleteData createDataKey="simpleproduct1" stepKey="deleteProduct1"/> + <deleteData createDataKey="simplecategory" stepKey="deleteCategory"/> + <deleteData createDataKey="simpleuscustomer" stepKey="deleteCustomer"/> </after> <test name="CustomerCheckoutTest"> <annotations> @@ -32,56 +32,54 @@ <severity value="CRITICAL"/> <testCaseId value="#"/> <group value="checkout"/> - <env value="chrome"/> - <env value="headless"/> </annotations> - <amOnPage mergeKey="s1" url="customer/account/login/"/> - <fillField mergeKey="s3" userInput="$$simpleuscustomer.email$$" selector="{{StorefrontCustomerSignInFormSection.emailField}}"/> - <fillField mergeKey="s5" userInput="$$simpleuscustomer.password$$" selector="{{StorefrontCustomerSignInFormSection.passwordField}}"/> - <click mergeKey="s7" selector="{{StorefrontCustomerSignInFormSection.signInAccountButton}}"/> - <waitForPageLoad mergeKey="s9"/> + <amOnPage stepKey="s1" url="customer/account/login/"/> + <fillField stepKey="s3" userInput="$$simpleuscustomer.email$$" selector="{{StorefrontCustomerSignInFormSection.emailField}}"/> + <fillField stepKey="s5" userInput="$$simpleuscustomer.password$$" selector="{{StorefrontCustomerSignInFormSection.passwordField}}"/> + <click stepKey="s7" selector="{{StorefrontCustomerSignInFormSection.signInAccountButton}}"/> + <waitForPageLoad stepKey="s9"/> - <amOnPage mergeKey="s11" url="/$$simplecategory.name$$.html" /> - <moveMouseOver mergeKey="s15" selector="{{StorefrontCategoryMainSection.ProductItemInfo}}" /> - <click mergeKey="s17" selector="{{StorefrontCategoryMainSection.AddToCartBtn}}" /> - <waitForElementVisible mergeKey="s21" selector="{{StorefrontCategoryMainSection.SuccessMsg}}" time="30" /> - <see mergeKey="s23" selector="{{StorefrontCategoryMainSection.SuccessMsg}}" userInput="You added $$simpleproduct1.name$$ to your shopping cart."/> - <see mergeKey="s25" selector="{{StorefrontMiniCartSection.quantity}}" userInput="1" /> - <click mergeKey="s27" selector="{{StorefrontMiniCartSection.show}}" /> - <click mergeKey="s31" selector="{{StorefrontMiniCartSection.goToCheckout}}" /> - <waitForPageLoad mergeKey="s33"/> - <waitForLoadingMaskToDisappear mergeKey="s34"/> - <click mergeKey="s35" selector="{{CheckoutShippingMethodsSection.firstShippingMethod}}"/> - <waitForElement mergeKey="s36" selector="{{CheckoutShippingMethodsSection.next}}" time="30"/> - <click mergeKey="s37" selector="{{CheckoutShippingMethodsSection.next}}" /> - <waitForPageLoad mergeKey="s39"/> - <waitForElement mergeKey="s41" selector="{{CheckoutPaymentSection.placeOrder}}" time="30" /> - <see mergeKey="s47" selector="{{CheckoutPaymentSection.billingAddress}}" userInput="{{US_Address_TX.street[0]}}" /> - <click mergeKey="s49" selector="{{CheckoutPaymentSection.placeOrder}}" /> - <waitForPageLoad mergeKey="s51"/> - <grabTextFrom mergeKey="s53" selector="{{CheckoutSuccessMainSection.orderNumber22}}" returnVariable="orderNumber" /> - <see mergeKey="s55" selector="{{CheckoutSuccessMainSection.success}}" userInput="Your order number is:" /> + <amOnPage stepKey="s11" url="/$$simplecategory.name$$.html" /> + <moveMouseOver stepKey="s15" selector="{{StorefrontCategoryMainSection.ProductItemInfo}}" /> + <click stepKey="s17" selector="{{StorefrontCategoryMainSection.AddToCartBtn}}" /> + <waitForElementVisible stepKey="s21" selector="{{StorefrontCategoryMainSection.SuccessMsg}}" time="30" /> + <see stepKey="s23" selector="{{StorefrontCategoryMainSection.SuccessMsg}}" userInput="You added $$simpleproduct1.name$$ to your shopping cart."/> + <see stepKey="s25" selector="{{StorefrontMiniCartSection.quantity}}" userInput="1" /> + <click stepKey="s27" selector="{{StorefrontMiniCartSection.show}}" /> + <click stepKey="s31" selector="{{StorefrontMiniCartSection.goToCheckout}}" /> + <waitForPageLoad stepKey="s33"/> + <waitForLoadingMaskToDisappear stepKey="s34"/> + <click stepKey="s35" selector="{{CheckoutShippingMethodsSection.firstShippingMethod}}"/> + <waitForElement stepKey="s36" selector="{{CheckoutShippingMethodsSection.next}}" time="30"/> + <click stepKey="s37" selector="{{CheckoutShippingMethodsSection.next}}" /> + <waitForPageLoad stepKey="s39"/> + <waitForElement stepKey="s41" selector="{{CheckoutPaymentSection.placeOrder}}" time="30" /> + <see stepKey="s47" selector="{{CheckoutPaymentSection.billingAddress}}" userInput="{{US_Address_TX.street[0]}}" /> + <click stepKey="s49" selector="{{CheckoutPaymentSection.placeOrder}}" /> + <waitForPageLoad stepKey="s51"/> + <grabTextFrom stepKey="s53" selector="{{CheckoutSuccessMainSection.orderNumber22}}" returnVariable="orderNumber" /> + <see stepKey="s55" selector="{{CheckoutSuccessMainSection.success}}" userInput="Your order number is:" /> - <amOnPage mergeKey="s59" url="{{AdminLoginPage.url}}" /> - <fillField mergeKey="s61" selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" /> - <fillField mergeKey="s63" selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" /> - <click mergeKey="s65" selector="{{AdminLoginFormSection.signIn}}" /> + <amOnPage stepKey="s59" url="{{AdminLoginPage.url}}" /> + <fillField stepKey="s61" selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" /> + <fillField stepKey="s63" selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" /> + <click stepKey="s65" selector="{{AdminLoginFormSection.signIn}}" /> - <amOnPage mergeKey="s67" url="{{OrdersPage.url}}"/> - <waitForPageLoad mergeKey="s75"/> - <fillField mergeKey="s77" selector="{{OrdersGridSection.search}}" variable="orderNumber" /> - <waitForPageLoad mergeKey="s78"/> + <amOnPage stepKey="s67" url="{{OrdersPage.url}}"/> + <waitForPageLoad stepKey="s75"/> + <fillField stepKey="s77" selector="{{OrdersGridSection.search}}" variable="orderNumber" /> + <waitForPageLoad stepKey="s78"/> - <click mergeKey="s81" selector="{{OrdersGridSection.submitSearch22}}" /> - <waitForPageLoad mergeKey="s831"/> - <click mergeKey="s84" selector="{{OrdersGridSection.firstRow}}" /> - <see mergeKey="s85" selector="{{OrderDetailsInformationSection.orderStatus}}" userInput="Pending" /> - <see mergeKey="s87" selector="{{OrderDetailsInformationSection.accountInformation}}" userInput="Customer" /> - <see mergeKey="s89" selector="{{OrderDetailsInformationSection.accountInformation}}" userInput="$$simpleuscustomer.email$$" /> - <see mergeKey="s91" selector="{{OrderDetailsInformationSection.billingAddress}}" userInput="{{US_Address_TX.street[0]}}" /> - <see mergeKey="s93" selector="{{OrderDetailsInformationSection.shippingAddress}}" userInput="{{US_Address_TX.street[0]}}" /> - <see mergeKey="s95" selector="{{OrderDetailsInformationSection.itemsOrdered}}" userInput="$$simpleproduct1.name$$" /> + <click stepKey="s81" selector="{{OrdersGridSection.submitSearch22}}" /> + <waitForPageLoad stepKey="s831"/> + <click stepKey="s84" selector="{{OrdersGridSection.firstRow}}" /> + <see stepKey="s85" selector="{{OrderDetailsInformationSection.orderStatus}}" userInput="Pending" /> + <see stepKey="s87" selector="{{OrderDetailsInformationSection.accountInformation}}" userInput="Customer" /> + <see stepKey="s89" selector="{{OrderDetailsInformationSection.accountInformation}}" userInput="$$simpleuscustomer.email$$" /> + <see stepKey="s91" selector="{{OrderDetailsInformationSection.billingAddress}}" userInput="{{US_Address_TX.street[0]}}" /> + <see stepKey="s93" selector="{{OrderDetailsInformationSection.shippingAddress}}" userInput="{{US_Address_TX.street[0]}}" /> + <see stepKey="s95" selector="{{OrderDetailsInformationSection.itemsOrdered}}" userInput="$$simpleproduct1.name$$" /> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Cest/StorefrontGuestCheckoutCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Cest/StorefrontGuestCheckoutCest.xml index fa441fd673784b65c8f768739c7d2dfb703a5fce..69c614cd36268a6f93b649a954cc4d6ac78b5191 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Cest/StorefrontGuestCheckoutCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Cest/StorefrontGuestCheckoutCest.xml @@ -14,14 +14,14 @@ <stories value="Checkout via Guest Checkout"/> </annotations> <before> - <createData entity="_defaultCategory" mergeKey="createCategory"/> - <createData entity="_defaultProduct" mergeKey="createProduct"> + <createData entity="_defaultCategory" stepKey="createCategory"/> + <createData entity="_defaultProduct" stepKey="createProduct"> <required-entity createDataKey="createCategory"/> </createData> </before> <after> - <deleteData createDataKey="createCategory" mergeKey="deleteCategory"/> - <deleteData createDataKey="createProduct" mergeKey="deleteProduct"/> + <deleteData createDataKey="createCategory" stepKey="deleteCategory"/> + <deleteData createDataKey="createProduct" stepKey="deleteProduct"/> </after> <test name="GuestCheckoutTest"> <annotations> @@ -30,54 +30,53 @@ <severity value="CRITICAL"/> <testCaseId value="MAGETWO-72094"/> <group value="checkout"/> - <env value="chrome"/> - <env value="headless"/> </annotations> - <amOnPage url="{{StorefrontCategoryPage.url($$createCategory.name$$)}}" mergeKey="onCategoryPage"/> - <waitForPageLoad mergeKey="waitForPageLoad1"/> - <moveMouseOver selector="{{StorefrontCategoryMainSection.ProductItemInfo}}" mergeKey="hoverProduct"/> - <click selector="{{StorefrontCategoryMainSection.AddToCartBtn}}" mergeKey="addToCart"/> - <waitForElementVisible selector="{{StorefrontCategoryMainSection.SuccessMsg}}" time="30" mergeKey="waitForProductAdded"/> - <see selector="{{StorefrontCategoryMainSection.SuccessMsg}}" userInput="You added $$createProduct.name$$ to your shopping cart." mergeKey="seeAddedToCartMessage"/> - <see selector="{{StorefrontMiniCartSection.quantity}}" userInput="1" mergeKey="seeCartQuantity"/> - <click selector="{{StorefrontMiniCartSection.show}}" mergeKey="clickCart"/> - <click selector="{{StorefrontMiniCartSection.goToCheckout}}" mergeKey="goToCheckout"/> - <waitForPageLoad mergeKey="waitForPageLoad2"/> - <fillField selector="{{GuestCheckoutShippingSection.email}}" userInput="{{CustomerEntityOne.email}}" mergeKey="enterEmail"/> - <fillField selector="{{GuestCheckoutShippingSection.firstName}}" userInput="{{CustomerEntityOne.firstname}}" mergeKey="enterFirstName"/> - <fillField selector="{{GuestCheckoutShippingSection.lastName}}" userInput="{{CustomerEntityOne.lastname}}" mergeKey="enterLastName"/> - <fillField selector="{{GuestCheckoutShippingSection.street}}" userInput="{{CustomerAddressSimple.street[0]}}" mergeKey="enterStreet"/> - <fillField selector="{{GuestCheckoutShippingSection.city}}" userInput="{{CustomerAddressSimple.city}}" mergeKey="enterCity"/> - <selectOption selector="{{GuestCheckoutShippingSection.region}}" userInput="{{CustomerAddressSimple.state}}" mergeKey="selectRegion"/> - <fillField selector="{{GuestCheckoutShippingSection.postcode}}" userInput="{{CustomerAddressSimple.postcode}}" mergeKey="enterPostcode"/> - <fillField selector="{{GuestCheckoutShippingSection.telephone}}" userInput="{{CustomerAddressSimple.telephone}}" mergeKey="enterTelephone"/> - <waitForLoadingMaskToDisappear mergeKey="waitForLoadingMask"/> - <click selector="{{GuestCheckoutShippingSection.firstShippingMethod}}" mergeKey="selectFirstShippingMethod"/> - <waitForElement selector="{{GuestCheckoutShippingSection.next}}" time="30" mergeKey="waitForNextButton"/> - <click selector="{{GuestCheckoutShippingSection.next}}" mergeKey="clickNext"/> - <waitForElement selector="{{GuestCheckoutPaymentSection.placeOrder}}" time="30" mergeKey="waitForPlaceOrderButton"/> - <see selector="{{GuestCheckoutPaymentSection.cartItems}}" userInput="{{_defaultProduct.name}}" mergeKey="seeProductInCart"/> - <see selector="{{GuestCheckoutPaymentSection.billingAddress}}" userInput="{{CustomerAddressSimple.street[0]}}" mergeKey="seeAddress"/> - <click selector="{{GuestCheckoutPaymentSection.placeOrder}}" mergeKey="clickPlaceOrder"/> - <grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber}}" returnVariable="orderNumber" mergeKey="grabOrderNumber"/> - <see selector="{{CheckoutSuccessMainSection.success}}" userInput="Your order # is:" mergeKey="seeOrderNumber"/> - <see selector="{{CheckoutSuccessMainSection.success}}" userInput="We'll email you an order confirmation with details and tracking info." mergeKey="seeEmailYou"/> - <amOnPage url="{{AdminLoginPage.url}}" mergeKey="navigateToAdmin"/> - <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" mergeKey="fillUsername"/> - <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" mergeKey="fillPassword"/> - <click selector="{{AdminLoginFormSection.signIn}}" mergeKey="clickLogin"/> - <amOnPage url="{{OrdersPage.url}}" mergeKey="onOrdersPage"/> - <waitForElementNotVisible selector="{{OrdersGridSection.spinner}}" time="30" mergeKey="waitForOrdersPage"/> - <fillField selector="{{OrdersGridSection.search}}" variable="orderNumber" mergeKey="fillOrderNum"/> - <click selector="{{OrdersGridSection.submitSearch}}" mergeKey="submitSearchOrderNum"/> - <waitForElementNotVisible selector="{{OrdersGridSection.spinner}}" time="30" mergeKey="waitForOrdersPage2"/> - <click selector="{{OrdersGridSection.firstRow}}" mergeKey="clickOrderRow"/> - <see selector="{{OrderDetailsInformationSection.orderStatus}}" userInput="Pending" mergeKey="seeAdminOrderStatus"/> - <see selector="{{OrderDetailsInformationSection.accountInformation}}" userInput="Guest" mergeKey="seeAdminOrderGuest"/> - <see selector="{{OrderDetailsInformationSection.accountInformation}}" userInput="{{CustomerEntityOne.email}}" mergeKey="seeAdminOrderEmail"/> - <see selector="{{OrderDetailsInformationSection.billingAddress}}" userInput="{{CustomerAddressSimple.street[0]}}" mergeKey="seeAdminOrderBillingAddress"/> - <see selector="{{OrderDetailsInformationSection.shippingAddress}}" userInput="{{CustomerAddressSimple.street[0]}}" mergeKey="seeAdminOrderShippingAddress"/> - <see selector="{{OrderDetailsInformationSection.itemsOrdered}}" userInput="{{_defaultProduct.name}}" mergeKey="seeAdminOrderProduct"/> + <amOnPage url="{{StorefrontCategoryPage.url($$createCategory.name$$)}}" stepKey="onCategoryPage"/> + <waitForPageLoad stepKey="waitForPageLoad1"/> + <moveMouseOver selector="{{StorefrontCategoryMainSection.ProductItemInfo}}" stepKey="hoverProduct"/> + <click selector="{{StorefrontCategoryMainSection.AddToCartBtn}}" stepKey="addToCart"/> + <waitForElementVisible selector="{{StorefrontCategoryMainSection.SuccessMsg}}" time="30" stepKey="waitForProductAdded"/> + <see selector="{{StorefrontCategoryMainSection.SuccessMsg}}" userInput="You added $$createProduct.name$$ to your shopping cart." stepKey="seeAddedToCartMessage"/> + <see selector="{{StorefrontMiniCartSection.quantity}}" userInput="1" stepKey="seeCartQuantity"/> + <click selector="{{StorefrontMiniCartSection.show}}" stepKey="clickCart"/> + <click selector="{{StorefrontMiniCartSection.goToCheckout}}" stepKey="goToCheckout"/> + <waitForPageLoad stepKey="waitForPageLoad2"/> + <fillField selector="{{GuestCheckoutShippingSection.email}}" userInput="{{CustomerEntityOne.email}}" stepKey="enterEmail"/> + <fillField selector="{{GuestCheckoutShippingSection.firstName}}" userInput="{{CustomerEntityOne.firstname}}" stepKey="enterFirstName"/> + <fillField selector="{{GuestCheckoutShippingSection.lastName}}" userInput="{{CustomerEntityOne.lastname}}" stepKey="enterLastName"/> + <fillField selector="{{GuestCheckoutShippingSection.street}}" userInput="{{CustomerAddressSimple.street[0]}}" stepKey="enterStreet"/> + <fillField selector="{{GuestCheckoutShippingSection.city}}" userInput="{{CustomerAddressSimple.city}}" stepKey="enterCity"/> + <selectOption selector="{{GuestCheckoutShippingSection.region}}" userInput="{{CustomerAddressSimple.state}}" stepKey="selectRegion"/> + <fillField selector="{{GuestCheckoutShippingSection.postcode}}" userInput="{{CustomerAddressSimple.postcode}}" stepKey="enterPostcode"/> + <fillField selector="{{GuestCheckoutShippingSection.telephone}}" userInput="{{CustomerAddressSimple.telephone}}" stepKey="enterTelephone"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask"/> + <click selector="{{GuestCheckoutShippingSection.firstShippingMethod}}" stepKey="selectFirstShippingMethod"/> + <waitForElement selector="{{GuestCheckoutShippingSection.next}}" time="30" stepKey="waitForNextButton"/> + <click selector="{{GuestCheckoutShippingSection.next}}" stepKey="clickNext"/> + <waitForElement selector="{{GuestCheckoutPaymentSection.placeOrder}}" time="30" stepKey="waitForPlaceOrderButton"/> + <conditionalClick selector="{{GuestCheckoutPaymentSection.cartItemsArea}}" dependentSelector="{{GuestCheckoutPaymentSection.cartItemsAreaActive}}" visible="false" stepKey="exposeMiniCart"/> + <see selector="{{GuestCheckoutPaymentSection.cartItems}}" userInput="{{_defaultProduct.name}}" stepKey="seeProductInCart"/> + <see selector="{{GuestCheckoutPaymentSection.billingAddress}}" userInput="{{CustomerAddressSimple.street[0]}}" stepKey="seeAddress"/> + <click selector="{{GuestCheckoutPaymentSection.placeOrder}}" stepKey="clickPlaceOrder"/> + <grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber}}" returnVariable="orderNumber" stepKey="grabOrderNumber"/> + <see selector="{{CheckoutSuccessMainSection.success}}" userInput="Your order # is:" stepKey="seeOrderNumber"/> + <see selector="{{CheckoutSuccessMainSection.success}}" userInput="We'll email you an order confirmation with details and tracking info." stepKey="seeEmailYou"/> + <amOnPage url="{{AdminLoginPage.url}}" stepKey="navigateToAdmin"/> + <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" stepKey="fillUsername"/> + <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="fillPassword"/> + <click selector="{{AdminLoginFormSection.signIn}}" stepKey="clickLogin"/> + <amOnPage url="{{OrdersPage.url}}" stepKey="onOrdersPage"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappearOnOrdersPage"/> + <fillField selector="{{OrdersGridSection.search}}" variable="orderNumber" stepKey="fillOrderNum"/> + <click selector="{{OrdersGridSection.submitSearch}}" stepKey="submitSearchOrderNum"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappearOnSearch"/> + <click selector="{{OrdersGridSection.firstRow}}" stepKey="clickOrderRow"/> + <see selector="{{OrderDetailsInformationSection.orderStatus}}" userInput="Pending" stepKey="seeAdminOrderStatus"/> + <see selector="{{OrderDetailsInformationSection.accountInformation}}" userInput="Guest" stepKey="seeAdminOrderGuest"/> + <see selector="{{OrderDetailsInformationSection.accountInformation}}" userInput="{{CustomerEntityOne.email}}" stepKey="seeAdminOrderEmail"/> + <see selector="{{OrderDetailsInformationSection.billingAddress}}" userInput="{{CustomerAddressSimple.street[0]}}" stepKey="seeAdminOrderBillingAddress"/> + <see selector="{{OrderDetailsInformationSection.shippingAddress}}" userInput="{{CustomerAddressSimple.street[0]}}" stepKey="seeAdminOrderShippingAddress"/> + <see selector="{{OrderDetailsInformationSection.itemsOrdered}}" userInput="{{_defaultProduct.name}}" stepKey="seeAdminOrderProduct"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/README.md index b36a7cf6d5de1c0a0af56ff61bfbcef1ea0f7702..fc63b2f394813c974bfb006785c6818f08b9d107 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Checkout** Module. +The Functional Tests Module for **Magento_Checkout** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Section/GuestCheckoutPaymentSection.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Section/GuestCheckoutPaymentSection.xml index 200a699d2bb5101ada1c925d1cd9278f48b99a1e..cc7c019cc4e234874d8e0451d04ecc8a3f36678f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Section/GuestCheckoutPaymentSection.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Section/GuestCheckoutPaymentSection.xml @@ -9,6 +9,8 @@ <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd"> <section name="GuestCheckoutPaymentSection"> + <element name="cartItemsArea" type="textarea" selector=".items-in-cart"/> + <element name="cartItemsAreaActive" type="textarea" selector="div.block.items-in-cart.active"/> <element name="cartItems" type="text" selector=".minicart-items"/> <element name="billingAddress" type="text" selector="div.billing-address-details"/> <element name="placeOrder" type="button" selector="button.action.primary.checkout" timeout="30"/> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/composer.json index aec57da084ffb16c205162a4383779ee54bd69d3..f84ed60ac922e19eef3b32fb01991fe43df06b40 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/composer.json @@ -1,66 +1,49 @@ { "name": "magento/magento2-functional-test-module-checkout", - "description": "Magento 2 Acceptance Test Module Checkout", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-shipping": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-page-cache": "dev-master", - "magento/magento2-functional-test-module-sales-rule": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-msrp": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master" - }, + "description": "Magento 2 Functional Test Module Checkout", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-msrp": "100.0.0-dev", + "magento/magento2-functional-test-module-page-cache": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-sales-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Checkout\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Checkout" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CheckoutAgreements/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CheckoutAgreements/README.md index a985bc4dfe1044c06affa991e5a5fc0516f5f142..35423659f629f65270ebfc22420207c8cc6ad5b6 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CheckoutAgreements/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CheckoutAgreements/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_CheckoutAgreements** Module. +The Functional Tests Module for **Magento_CheckoutAgreements** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CheckoutAgreements/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CheckoutAgreements/composer.json index ab5629e117db9f0d9d26937cdab47ef391981a87..54f8e269d39a24cbdb1fdaf462119deddddd665c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CheckoutAgreements/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CheckoutAgreements/composer.json @@ -1,52 +1,35 @@ { "name": "magento/magento2-functional-test-module-checkout-agreements", - "description": "Magento 2 Acceptance Test Module Checkout Agreements", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Checkout Agreements", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CheckoutAgreements\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CheckoutAgreements" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CheckoutAgreements" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/Cest/AdminCreateCmsPageCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/Cest/AdminCreateCmsPageCest.xml index e6dfb969fe2182f4fa9ad428e7cdcea3ab6095fb..0a321690dd5d0b2e86ae41780a7e230c7d1c36d3 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/Cest/AdminCreateCmsPageCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/Cest/AdminCreateCmsPageCest.xml @@ -14,7 +14,7 @@ <stories value="Create a CMS Page via the Admin"/> </annotations> <after> - <amOnPage url="admin/admin/auth/logout/" mergeKey="amOnLogoutPage"/> + <amOnPage url="admin/admin/auth/logout/" stepKey="amOnLogoutPage"/> </after> <test name="CreateNewPage"> <annotations> @@ -23,31 +23,27 @@ <severity value="CRITICAL"/> <testCaseId value="MAGETWO-25580"/> <group value="cms"/> - <group value="skip"/> - <env value="chrome"/> - <env value="firefox"/> - <env value="headless"/> </annotations> - <amOnPage url="{{AdminLoginPage.url}}" mergeKey="navigateToAdmin"/> - <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" mergeKey="fillUsername"/> - <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" mergeKey="fillPassword"/> - <click selector="{{AdminLoginFormSection.signIn}}" mergeKey="clickLogin"/> - <amOnPage url="{{CmsPagesPage.url}}" mergeKey="amOnPagePagesGrid"/> - <waitForPageLoad mergeKey="waitForPageLoad1"/> - <click selector="{{CmsPagesPageActionsSection.addNewPage}}" mergeKey="clickAddNewPage"/> - <fillField selector="{{CmsNewPagePageBasicFieldsSection.pageTitle}}" userInput="{{_defaultCmsPage.title}}" mergeKey="fillFieldTitle"/> - <click selector="{{CmsNewPagePageContentSection.header}}" mergeKey="clickExpandContent"/> - <fillField selector="{{CmsNewPagePageContentSection.contentHeading}}" userInput="{{_defaultCmsPage.content_heading}}" mergeKey="fillFieldContentHeading"/> + <amOnPage url="{{AdminLoginPage.url}}" stepKey="navigateToAdmin"/> + <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" stepKey="fillUsername"/> + <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="fillPassword"/> + <click selector="{{AdminLoginFormSection.signIn}}" stepKey="clickLogin"/> + <amOnPage url="{{CmsPagesPage.url}}" stepKey="amOnPagePagesGrid"/> + <waitForPageLoad stepKey="waitForPageLoad1"/> + <click selector="{{CmsPagesPageActionsSection.addNewPage}}" stepKey="clickAddNewPage"/> + <fillField selector="{{CmsNewPagePageBasicFieldsSection.pageTitle}}" userInput="{{_defaultCmsPage.title}}" stepKey="fillFieldTitle"/> + <click selector="{{CmsNewPagePageContentSection.header}}" stepKey="clickExpandContent"/> + <fillField selector="{{CmsNewPagePageContentSection.contentHeading}}" userInput="{{_defaultCmsPage.content_heading}}" stepKey="fillFieldContentHeading"/> <!-- As of 2017/11/15, this test is failing here (Jenkins only, works locally). See MQE-282. --> - <fillField selector="{{CmsNewPagePageContentSection.content}}" userInput="{{_defaultCmsPage.content}}" mergeKey="fillFieldContent"/> - <click selector="{{CmsNewPagePageSeoSection.header}}" mergeKey="clickExpandSearchEngineOptimisation"/> - <fillField selector="{{CmsNewPagePageSeoSection.urlKey}}" userInput="{{_defaultCmsPage.identifier}}" mergeKey="fillFieldUrlKey"/> - <click selector="{{CmsNewPagePageActionsSection.savePage}}" mergeKey="clickSavePage"/> - <see userInput="You saved the page." mergeKey="seeSuccessMessage"/> - <amOnPage url="{{_defaultCmsPage.identifier}}" mergeKey="amOnPageTestPage"/> - <waitForPageLoad mergeKey="waitForPageLoad2"/> - <see userInput="{{_defaultCmsPage.content_heading}}" mergeKey="seeContentHeading"/> - <see userInput="{{_defaultCmsPage.content}}" mergeKey="seeContent"/> + <fillField selector="{{CmsNewPagePageContentSection.content}}" userInput="{{_defaultCmsPage.content}}" stepKey="fillFieldContent"/> + <click selector="{{CmsNewPagePageSeoSection.header}}" stepKey="clickExpandSearchEngineOptimisation"/> + <fillField selector="{{CmsNewPagePageSeoSection.urlKey}}" userInput="{{_defaultCmsPage.identifier}}" stepKey="fillFieldUrlKey"/> + <click selector="{{CmsNewPagePageActionsSection.savePage}}" stepKey="clickSavePage"/> + <see userInput="You saved the page." stepKey="seeSuccessMessage"/> + <amOnPage url="{{_defaultCmsPage.identifier}}" stepKey="amOnPageTestPage"/> + <waitForPageLoad stepKey="waitForPageLoad2"/> + <see userInput="{{_defaultCmsPage.content_heading}}" stepKey="seeContentHeading"/> + <see userInput="{{_defaultCmsPage.content}}" stepKey="seeContent"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/README.md index 4de61c2fb27b0347f37021a3640e28d56fd562f0..d1214efec912892ef9486b5a8a2e3122b87d21c0 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Cms** Module. +The Functional Tests Module for **Magento_Cms** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/composer.json index ad21c6beeaffb1a4b2c1855f870cad0696223187..5f55a2cabb3508682fe612cd8dafbcdf07152f1a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms/composer.json @@ -1,57 +1,40 @@ { "name": "magento/magento2-functional-test-module-cms", - "description": "Magento 2 Acceptance Test Module Cms", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-widget": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-email": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master", - "magento/magento2-functional-test-module-variable": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master" - }, + "description": "Magento 2 Functional Test Module Cms", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-email": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-variable": "100.0.0-dev", + "magento/magento2-functional-test-module-widget": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Cms\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Cms" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cms" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CmsUrlRewrite/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CmsUrlRewrite/README.md index 1f1b1ca7825327f4b75b97d8aa2160e83587efce..cc52700eba9887a168f6665ad1893a64ea4376a9 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CmsUrlRewrite/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CmsUrlRewrite/README.md @@ -1,6 +1,3 @@ -## Overview - -The Magento_CmsUrlRewrite module adds support for URL rewrite rules for CMS pages. See also Magento_UrlRewrite module. +# Magento 2 Functional Tests -The module adds and removes URL rewrite rules as CMS pages are added or removed by a user. -The rules can be edited by an admin user as any other URL rewrite rule. +The Functional Tests Module for **Magento_CmsUrlRewrite** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CmsUrlRewrite/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CmsUrlRewrite/composer.json index 4c27ee9c61ed3fe6a5787718fa770514f0bede09..764444c8e72354cd55731092a9da7cd11aae0842 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CmsUrlRewrite/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CmsUrlRewrite/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-cms-url-rewrite", - "description": "Magento 2 Acceptance Test Module Cms Url Rewrite", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-url-rewrite": "dev-master" - }, + "description": "Magento 2 Functional Test Module Cms Url Rewrite", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-url-rewrite": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CmsUrlRewrite\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CmsUrlRewrite" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CmsUrlRewrite" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Config/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Config/README.md index 6214cc94b04a0527c81b76cd5ef2a4006cf0da93..eb0b57b2886f24f7138d9ebbb49a00e3e82769ab 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Config/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Config/README.md @@ -1,8 +1,3 @@ -#Config -The Config module is designed to implement system configuration functionality. -It provides mechanisms to add, edit, store and retrieve the configuration data -for each scope (there can be a default scope as well as scopes for each website and store). +# Magento 2 Functional Tests -Modules can add items to be configured on the system configuration page by creating -system.xml files in their etc/adminhtml directories. These system.xml files get merged -to populate the forms in the config page. +The Functional Tests Module for **Magento_Config** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Config/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Config/composer.json index b82ea131819f557206eb68fe9821909b204ba9c4..c6aa7ca8ab45398ec0120e1877cf730b57dd3c5b 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Config/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Config/composer.json @@ -1,53 +1,38 @@ { "name": "magento/magento2-functional-test-module-config", - "description": "Magento 2 Acceptance Test Module Config", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-email": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master" - }, + "description": "Magento 2 Functional Test Module Config", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-cron": "100.0.0-dev", + "magento/magento2-functional-test-module-deploy": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-email": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Config\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Config" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Config" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableImportExport/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableImportExport/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1cf979955a3cdc4980704381654b11ff7f4adb2e --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableImportExport/README.md @@ -0,0 +1,3 @@ +# Magento 2 Functional Tests + +The Functional Tests Module for **Magento_ConfigurableImportExport** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableImportExport/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableImportExport/composer.json index 8af4f9591cfc5c03377e7428fce8c2ad04144748..1b2fb5e35ae351fb2dd453dd505c7bc23dc9ec55 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableImportExport/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableImportExport/composer.json @@ -1,53 +1,36 @@ { "name": "magento/magento2-functional-test-module-configurable-import-export", - "description": "Magento 2 Acceptance Test Module Configurable Import Export", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-catalog-import-export": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-import-export": "dev-master", - "magento/magento2-functional-test-module-configurable-product": "dev-master" - }, + "description": "Magento 2 Functional Test Module Configurable Import Export", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-configurable-product": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-import-export": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\ConfigurableImportExport\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/ConfigurableImportExport" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableImportExport" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/Cest/AdminCreateConfigurableProductCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/Cest/AdminCreateConfigurableProductCest.xml index fbcc2581b408932bf0fec442a0077592d7c6d5a8..f861167972882d4d7eaf483c6925d3d82271addc 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/Cest/AdminCreateConfigurableProductCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/Cest/AdminCreateConfigurableProductCest.xml @@ -14,10 +14,10 @@ <stories value="Create a Configurable Product via the Admin"/> </annotations> <before> - <loginAsAdmin mergeKey="loginAsAdmin"/> + <loginAsAdmin stepKey="loginAsAdmin"/> </before> <after> - <amOnPage url="admin/admin/auth/logout/" mergeKey="amOnLogoutPage"/> + <amOnPage url="admin/admin/auth/logout/" stepKey="amOnLogoutPage"/> </after> <test name="CreateConfigurableProductViaAdmin"> <annotations> @@ -27,108 +27,107 @@ <testCaseId value="MAGETWO-26041"/> <group value="configurable"/> <group value="product"/> - <env value="chrome"/> + <group value="skip"/> </annotations> - - <amOnPage url="{{AdminCategoryPage.url}}" mergeKey="amOnCategoryGridPage"/> - <waitForPageLoad mergeKey="waitForPageLoad1"/> - - <click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" mergeKey="clickOnAddSubCategory"/> - <fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{_defaultCategory.name}}" mergeKey="enterCategoryName"/> - <click selector="{{AdminCategorySEOSection.SectionHeader}}" mergeKey="clickOnSeoSection"/> - <fillField selector="{{AdminCategorySEOSection.UrlKeyInput}}" userInput="{{_defaultCategory.name_lwr}}" mergeKey="enterUrlKey"/> - <click selector="{{AdminCategoryMainActionsSection.SaveButton}}" mergeKey="clickOnSaveCategory"/> - <seeElement selector="{{AdminCategoryMessagesSection.SuccessMessage}}" mergeKey="assertSuccessMessage"/> - - <amOnPage url="{{AdminProductIndexPage.url}}" mergeKey="amOnProductGridPage"/> - <waitForPageLoad mergeKey="waitForPageLoad2"/> - <click selector="{{AdminProductGridActionSection.addProductToggle}}" mergeKey="clickOnAddProductToggle"/> - <click selector="{{AdminProductGridActionSection.addConfigurableProduct}}" mergeKey="clickOnAddConfigurableProduct"/> - <fillField userInput="{{_defaultProduct.name}}" selector="{{AdminProductFormSection.productName}}" mergeKey="fillName"/> - <fillField userInput="{{_defaultProduct.sku}}" selector="{{AdminProductFormSection.productSku}}" mergeKey="fillSKU"/> - <fillField userInput="{{_defaultProduct.price}}" selector="{{AdminProductFormSection.productPrice}}" mergeKey="fillPrice"/> - <fillField userInput="{{_defaultProduct.quantity}}" selector="{{AdminProductFormSection.productQuantity}}" mergeKey="fillQuantity"/> - <searchAndMultiSelectOption selector="{{AdminProductFormSection.categoriesDropdown}}" parameterArray="[{{_defaultCategory.name}}]" mergeKey="searchAndSelectCategory"/> - <click selector="{{AdminProductSEOSection.sectionHeader}}" mergeKey="openSeoSection"/> - <fillField userInput="{{_defaultProduct.urlKey}}" selector="{{AdminProductSEOSection.urlKeyInput}}" mergeKey="fillUrlKey"/> - - <click selector="{{AdminProductFormConfigurationsSection.createConfigurations}}" mergeKey="clickOnCreateConfigurations"/> - <click selector="{{AdminCreateProductConfigurationsPanel.createNewAttribute}}" mergeKey="clickOnNewAttribute"/> - <switchToIFrame selector="{{AdminNewAttributePanel.newAttributeIFrame}}" mergeKey="switchToNewAttributeIFrame"/> - <fillField selector="{{AdminNewAttributePanel.defaultLabel}}" userInput="{{colorProductAttribute.default_label}}" mergeKey="fillDefaultLabel"/> - <click selector="{{AdminNewAttributePanel.saveAttribute}}" mergeKey="clickOnNewAttributePanel"/> - - <switchToIFrame mergeKey="switchOutOfIFrame"/> - <click selector="{{AdminCreateProductConfigurationsPanel.filters}}" mergeKey="clickOnFilters"/> - <fillField userInput="{{colorProductAttribute.default_label}}" selector="{{AdminCreateProductConfigurationsPanel.attributeCode}}" mergeKey="fillFilterAttributeCodeField"/> - <click selector="{{AdminCreateProductConfigurationsPanel.applyFilters}}" mergeKey="clickApplyFiltersButton"/> - <click selector="{{AdminCreateProductConfigurationsPanel.firstCheckbox}}" mergeKey="clickOnFirstCheckbox"/> - <click selector="{{AdminCreateProductConfigurationsPanel.next}}" mergeKey="clickOnNextButton1"/> - - <click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" mergeKey="clickOnCreateNewValue1"/> - <fillField userInput="{{colorProductAttribute1.name}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" mergeKey="fillFieldForNewAttribute1"/> - <click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" mergeKey="clickOnSaveNewAttribute1"/> - - <click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" mergeKey="clickOnCreateNewValue2"/> - <fillField userInput="{{colorProductAttribute2.name}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" mergeKey="fillFieldForNewAttribute2"/> - <click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" mergeKey="clickOnSaveNewAttribute2"/> - - <click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" mergeKey="clickOnCreateNewValue3"/> - <fillField userInput="{{colorProductAttribute3.name}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" mergeKey="fillFieldForNewAttribute3"/> - <click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" mergeKey="clickOnSaveNewAttribute3"/> - - <click selector="{{AdminCreateProductConfigurationsPanel.selectAll}}" mergeKey="clickOnSelectAll"/> - <click selector="{{AdminCreateProductConfigurationsPanel.next}}" mergeKey="clickOnNextButton2"/> - - <click selector="{{AdminCreateProductConfigurationsPanel.applyUniquePricesByAttributeToEachSku}}" mergeKey="clickOnApplyUniquePricesByAttributeToEachSku"/> - <selectOption selector="{{AdminCreateProductConfigurationsPanel.selectAttribute}}" userInput="{{colorProductAttribute.default_label}}" mergeKey="selectAttributes"/> - <fillField selector="{{AdminCreateProductConfigurationsPanel.attribute1}}" userInput="{{colorProductAttribute1.price}}" mergeKey="fillAttributePrice1"/> - <fillField selector="{{AdminCreateProductConfigurationsPanel.attribute2}}" userInput="{{colorProductAttribute2.price}}" mergeKey="fillAttributePrice2"/> - <fillField selector="{{AdminCreateProductConfigurationsPanel.attribute3}}" userInput="{{colorProductAttribute3.price}}" mergeKey="fillAttributePrice3"/> - - <click selector="{{AdminCreateProductConfigurationsPanel.applySingleQuantityToEachSkus}}" mergeKey="clickOnApplySingleQuantityToEachSku"/> - <fillField selector="{{AdminCreateProductConfigurationsPanel.quantity}}" userInput="1" mergeKey="enterAttributeQuantity"/> - <click selector="{{AdminCreateProductConfigurationsPanel.next}}" mergeKey="clickOnNextButton3"/> - <click selector="{{AdminCreateProductConfigurationsPanel.next}}" mergeKey="clickOnNextButton4"/> - - <click selector="{{AdminProductFormActionSection.saveButton}}" mergeKey="clickOnSaveButton2"/> - <click selector="{{AdminChooseAffectedAttributeSetPopup.confirm}}" mergeKey="clickOnConfirmInPopup"/> - - <seeElement selector="{{AdminProductMessagesSection.successMessage}}" mergeKey="seeSaveProductMessage"/> - <seeInTitle userInput="{{_defaultProduct.name}}" mergeKey="seeProductNameInTitle"/> - - <seeNumberOfElements selector="{{AdminProductFormConfigurationsSection.currentVariationsRows}}" userInput="3" mergeKey="seeNumberOfRows"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsNameCells}}" userInput="{{colorProductAttribute1.name}}" mergeKey="seeAttributeName1InField"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsNameCells}}" userInput="{{colorProductAttribute2.name}}" mergeKey="seeAttributeName2InField"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsNameCells}}" userInput="{{colorProductAttribute3.name}}" mergeKey="seeAttributeName3InField"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsSkuCells}}" userInput="{{colorProductAttribute1.name}}" mergeKey="seeAttributeSku1InField"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsSkuCells}}" userInput="{{colorProductAttribute2.name}}" mergeKey="seeAttributeSku2InField"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsSkuCells}}" userInput="{{colorProductAttribute3.name}}" mergeKey="seeAttributeSku3InField"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsPriceCells}}" userInput="{{colorProductAttribute1.price}}" mergeKey="seeUniquePrice1InField"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsPriceCells}}" userInput="{{colorProductAttribute2.price}}" mergeKey="seeUniquePrice2InField"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsPriceCells}}" userInput="{{colorProductAttribute3.price}}" mergeKey="seeUniquePrice3InField"/> - <see selector="{{AdminProductFormConfigurationsSection.currentVariationsQuantityCells}}" userInput="{{colorProductAttribute.attribute_quantity}}" mergeKey="seeQuantityInField"/> - - <amOnPage url="/" mergeKey="amOnStorefront"/> - <waitForPageLoad mergeKey="waitForPageLoad3"/> - - <click userInput="{{_defaultCategory.name}}" mergeKey="clickOnCategoryName"/> - <waitForPageLoad mergeKey="waitForPageLoad4"/> - - <see userInput="{{_defaultProduct.name}}" mergeKey="assertProductPresent"/> - <see userInput="{{colorProductAttribute1.price}}" mergeKey="assertProductPricePresent"/> - <click userInput="{{_defaultProduct.name}}" mergeKey="clickOnProductName"/> - <waitForPageLoad mergeKey="waitForPageLoad5"/> - - <seeInTitle userInput="{{_defaultProduct.name}}" mergeKey="assertProductNameTitle"/> - <see userInput="{{_defaultProduct.name}}" selector="{{StorefrontProductInfoMainSection.productName}}" mergeKey="assertProductName"/> - <see userInput="{{colorProductAttribute1.price}}" selector="{{StorefrontProductInfoMainSection.productPrice}}" mergeKey="assertProductPrice"/> - <see userInput="{{_defaultProduct.sku}}" selector="{{StorefrontProductInfoMainSection.productSku}}" mergeKey="assertProductSku"/> - - <see selector="{{StorefrontProductInfoMainSection.productAttributeTitle1}}" userInput="{{colorProductAttribute.default_label}}" mergeKey="seeColorAttributeName1"/> - <see selector="{{StorefrontProductInfoMainSection.productAttributeOptions1}}" userInput="{{colorProductAttribute1.name}}" mergeKey="seeInDropDown1"/> - <see selector="{{StorefrontProductInfoMainSection.productAttributeOptions1}}" userInput="{{colorProductAttribute2.name}}" mergeKey="seeInDropDown2"/> - <see selector="{{StorefrontProductInfoMainSection.productAttributeOptions1}}" userInput="{{colorProductAttribute3.name}}" mergeKey="seeInDropDown3"/> + <amOnPage url="{{AdminCategoryPage.url}}" stepKey="amOnCategoryGridPage"/> + <waitForPageLoad time="30" stepKey="waitForPageLoad1"/> + + <click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" stepKey="clickOnAddSubCategory"/> + <fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{_defaultCategory.name}}" stepKey="enterCategoryName"/> + <click selector="{{AdminCategorySEOSection.SectionHeader}}" stepKey="clickOnSeoSection"/> + <fillField selector="{{AdminCategorySEOSection.UrlKeyInput}}" userInput="{{_defaultCategory.name_lwr}}" stepKey="enterUrlKey"/> + <click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="clickOnSaveCategory"/> + <seeElement selector="{{AdminCategoryMessagesSection.SuccessMessage}}" stepKey="assertSuccessMessage"/> + + <amOnPage url="{{AdminProductIndexPage.url}}" stepKey="amOnProductGridPage"/> + <waitForPageLoad time="30" stepKey="waitForPageLoad2"/> + <click selector="{{AdminProductGridActionSection.addProductToggle}}" stepKey="clickOnAddProductToggle"/> + <click selector="{{AdminProductGridActionSection.addConfigurableProduct}}" stepKey="clickOnAddConfigurableProduct"/> + <fillField userInput="{{_defaultProduct.name}}" selector="{{AdminProductFormSection.productName}}" stepKey="fillName"/> + <fillField userInput="{{_defaultProduct.sku}}" selector="{{AdminProductFormSection.productSku}}" stepKey="fillSKU"/> + <fillField userInput="{{_defaultProduct.price}}" selector="{{AdminProductFormSection.productPrice}}" stepKey="fillPrice"/> + <fillField userInput="{{_defaultProduct.quantity}}" selector="{{AdminProductFormSection.productQuantity}}" stepKey="fillQuantity"/> + <searchAndMultiSelectOption selector="{{AdminProductFormSection.categoriesDropdown}}" parameterArray="[{{_defaultCategory.name}}]" stepKey="searchAndSelectCategory"/> + <click selector="{{AdminProductSEOSection.sectionHeader}}" stepKey="openSeoSection"/> + <fillField userInput="{{_defaultProduct.urlKey}}" selector="{{AdminProductSEOSection.urlKeyInput}}" stepKey="fillUrlKey"/> + + <click selector="{{AdminProductFormConfigurationsSection.createConfigurations}}" stepKey="clickOnCreateConfigurations"/> + <click selector="{{AdminCreateProductConfigurationsPanel.createNewAttribute}}" stepKey="clickOnNewAttribute"/> + <switchToIFrame selector="{{AdminNewAttributePanel.newAttributeIFrame}}" stepKey="switchToNewAttributeIFrame"/> + <fillField selector="{{AdminNewAttributePanel.defaultLabel}}" userInput="{{colorProductAttribute.default_label}}" stepKey="fillDefaultLabel"/> + <click selector="{{AdminNewAttributePanel.saveAttribute}}" stepKey="clickOnNewAttributePanel"/> + + <switchToIFrame stepKey="switchOutOfIFrame"/> + <click selector="{{AdminCreateProductConfigurationsPanel.filters}}" stepKey="clickOnFilters"/> + <fillField userInput="{{colorProductAttribute.default_label}}" selector="{{AdminCreateProductConfigurationsPanel.attributeCode}}" stepKey="fillFilterAttributeCodeField"/> + <click selector="{{AdminCreateProductConfigurationsPanel.applyFilters}}" stepKey="clickApplyFiltersButton"/> + <click selector="{{AdminCreateProductConfigurationsPanel.firstCheckbox}}" stepKey="clickOnFirstCheckbox"/> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton1"/> + + <click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="clickOnCreateNewValue1"/> + <fillField userInput="{{colorProductAttribute1.name}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewAttribute1"/> + <click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" stepKey="clickOnSaveNewAttribute1"/> + + <click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="clickOnCreateNewValue2"/> + <fillField userInput="{{colorProductAttribute2.name}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewAttribute2"/> + <click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" stepKey="clickOnSaveNewAttribute2"/> + + <click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="clickOnCreateNewValue3"/> + <fillField userInput="{{colorProductAttribute3.name}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewAttribute3"/> + <click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" stepKey="clickOnSaveNewAttribute3"/> + + <click selector="{{AdminCreateProductConfigurationsPanel.selectAll}}" stepKey="clickOnSelectAll"/> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton2"/> + + <click selector="{{AdminCreateProductConfigurationsPanel.applyUniquePricesByAttributeToEachSku}}" stepKey="clickOnApplyUniquePricesByAttributeToEachSku"/> + <selectOption selector="{{AdminCreateProductConfigurationsPanel.selectAttribute}}" userInput="{{colorProductAttribute.default_label}}" stepKey="selectAttributes"/> + <fillField selector="{{AdminCreateProductConfigurationsPanel.attribute1}}" userInput="{{colorProductAttribute1.price}}" stepKey="fillAttributePrice1"/> + <fillField selector="{{AdminCreateProductConfigurationsPanel.attribute2}}" userInput="{{colorProductAttribute2.price}}" stepKey="fillAttributePrice2"/> + <fillField selector="{{AdminCreateProductConfigurationsPanel.attribute3}}" userInput="{{colorProductAttribute3.price}}" stepKey="fillAttributePrice3"/> + + <click selector="{{AdminCreateProductConfigurationsPanel.applySingleQuantityToEachSkus}}" stepKey="clickOnApplySingleQuantityToEachSku"/> + <fillField selector="{{AdminCreateProductConfigurationsPanel.quantity}}" userInput="1" stepKey="enterAttributeQuantity"/> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton3"/> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton4"/> + + <click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="clickOnSaveButton2"/> + <click selector="{{AdminChooseAffectedAttributeSetPopup.confirm}}" stepKey="clickOnConfirmInPopup"/> + + <seeElement selector="{{AdminProductMessagesSection.successMessage}}" stepKey="seeSaveProductMessage"/> + <seeInTitle userInput="{{_defaultProduct.name}}" stepKey="seeProductNameInTitle"/> + + <seeNumberOfElements selector="{{AdminProductFormConfigurationsSection.currentVariationsRows}}" userInput="3" stepKey="seeNumberOfRows"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsNameCells}}" userInput="{{colorProductAttribute1.name}}" stepKey="seeAttributeName1InField"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsNameCells}}" userInput="{{colorProductAttribute2.name}}" stepKey="seeAttributeName2InField"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsNameCells}}" userInput="{{colorProductAttribute3.name}}" stepKey="seeAttributeName3InField"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsSkuCells}}" userInput="{{colorProductAttribute1.name}}" stepKey="seeAttributeSku1InField"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsSkuCells}}" userInput="{{colorProductAttribute2.name}}" stepKey="seeAttributeSku2InField"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsSkuCells}}" userInput="{{colorProductAttribute3.name}}" stepKey="seeAttributeSku3InField"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsPriceCells}}" userInput="{{colorProductAttribute1.price}}" stepKey="seeUniquePrice1InField"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsPriceCells}}" userInput="{{colorProductAttribute2.price}}" stepKey="seeUniquePrice2InField"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsPriceCells}}" userInput="{{colorProductAttribute3.price}}" stepKey="seeUniquePrice3InField"/> + <see selector="{{AdminProductFormConfigurationsSection.currentVariationsQuantityCells}}" userInput="{{colorProductAttribute.attribute_quantity}}" stepKey="seeQuantityInField"/> + + <amOnPage url="/" stepKey="amOnStorefront"/> + <waitForPageLoad time="30" stepKey="waitForPageLoad3"/> + + <click userInput="{{_defaultCategory.name}}" stepKey="clickOnCategoryName"/> + <waitForPageLoad time="30" stepKey="waitForPageLoad4"/> + + <see userInput="{{_defaultProduct.name}}" stepKey="assertProductPresent"/> + <see userInput="{{colorProductAttribute1.price}}" stepKey="assertProductPricePresent"/> + <click userInput="{{_defaultProduct.name}}" stepKey="clickOnProductName"/> + <waitForPageLoad time="30" stepKey="waitForPageLoad5"/> + + <seeInTitle userInput="{{_defaultProduct.name}}" stepKey="assertProductNameTitle"/> + <see userInput="{{_defaultProduct.name}}" selector="{{StorefrontProductInfoMainSection.productName}}" stepKey="assertProductName"/> + <see userInput="{{colorProductAttribute1.price}}" selector="{{StorefrontProductInfoMainSection.productPrice}}" stepKey="assertProductPrice"/> + <see userInput="{{_defaultProduct.sku}}" selector="{{StorefrontProductInfoMainSection.productSku}}" stepKey="assertProductSku"/> + + <see selector="{{StorefrontProductInfoMainSection.productAttributeTitle1}}" userInput="{{colorProductAttribute.default_label}}" stepKey="seeColorAttributeName1"/> + <see selector="{{StorefrontProductInfoMainSection.productAttributeOptions1}}" userInput="{{colorProductAttribute1.name}}" stepKey="seeInDropDown1"/> + <see selector="{{StorefrontProductInfoMainSection.productAttributeOptions1}}" userInput="{{colorProductAttribute2.name}}" stepKey="seeInDropDown2"/> + <see selector="{{StorefrontProductInfoMainSection.productAttributeOptions1}}" userInput="{{colorProductAttribute3.name}}" stepKey="seeInDropDown3"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/README.md index aa4342bf3a4e10d4e2a7cbb2183169057e6c25ea..3db572028f728cf2174516c41a3b7aef1369e8ca 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_ConfigurableProduct** Module. +The Functional Tests Module for **Magento_ConfigurableProduct** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/composer.json index 6cdd99c2e0cd6c2d2485d88c410c1f9de50853ba..580578d805f409bb2f259196b00b0dac0e157a09 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct/composer.json @@ -1,59 +1,42 @@ { "name": "magento/magento2-functional-test-module-configurable-product", - "description": "Magento 2 Acceptance Test Module Configurable Product", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop", - "magento/magento2-functional-test-module-catalog": "dev-master" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-msrp": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Configurable Product", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-msrp": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\ConfigurableProduct\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/ConfigurableProduct" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProduct" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProductSales/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProductSales/README.md index f64eca364e9089294c0ce4e4e86fc79cf7dcf4e8..ebd5a01b14fa913d95474f74f70565b56cb5fbd3 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProductSales/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProductSales/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_ConfigurableProductSales** Module. +The Functional Tests Module for **Magento_ConfigurableProductSales** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProductSales/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProductSales/composer.json index f9cb9a3e40432efa4d112648cbc37338dcd95333..eb1f9891fa068d47b3ca0384ab62956669c466d7 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProductSales/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProductSales/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-configurable-product-sales", - "description": "Magento 2 Acceptance Test Module Configurable Product Sales", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master" - }, + "description": "Magento 2 Functional Test Module Configurable Product Sales", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\ConfigurableProductSales\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/ConfigurableProductSales" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ConfigurableProductSales" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Contact/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Contact/README.md index 4b862fdfeea5984f5b69e099cc38520ae01b90e5..1baafbefac03a34430009bba25ec31b76d55ec4d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Contact/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Contact/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Contact** Module. +The Functional Tests Module for **Magento_Contact** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Contact/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Contact/composer.json index 11531b5e5f4cd183b47764ea752cb7d645282263..55311d1c6fcd03db8769356031f50524f284e255 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Contact/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Contact/composer.json @@ -1,52 +1,35 @@ { "name": "magento/magento2-functional-test-module-contact", - "description": "Magento 2 Acceptance Test Module Contact", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master" - }, + "description": "Magento 2 Functional Test Module Contact", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Contact\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Contact" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Contact" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cookie/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cookie/README.md index f218201d7c99f065edeedeb018fc5c575b9cec3f..ed80d8f232ca797e42d1561b6ad851cceb85f49c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cookie/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cookie/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Cookie** Module. +The Functional Tests Module for **Magento_Cookie** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cookie/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cookie/composer.json index cf0a7bc2cb481211dfe80a1447a887c91ee31a93..2fd3ec251ae38f2ea1efba4ed37f84b4949a4821 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cookie/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cookie/composer.json @@ -1,49 +1,32 @@ { "name": "magento/magento2-functional-test-module-cookie", - "description": "Magento 2 Acceptance Test Module Cookie", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master" - }, + "description": "Magento 2 Functional Test Module Cookie", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Cookie\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Cookie" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cookie" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/LICENSE.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..49525fd99da9c51e6d85420266d41cb3d6b7a648 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/LICENSE_AFL.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/LICENSE_AFL.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39d641b18a19e56df6c8a3e4038c940fb886b32 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a3394b9a18177f3af11f848d8b6447aad5bc3e4d --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/README.md @@ -0,0 +1,3 @@ +# Magento 2 Functional Tests + +The Functional Tests Module for **Magento_Cron** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..7982a6dd9c4e82a283f595b47e48078c5891213f --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron/composer.json @@ -0,0 +1,33 @@ +{ + "name": "magento/magento2-functional-test-module-cron", + "description": "Magento 2 Functional Test Module Cron", + "type": "magento2-test-module", + "version": "100.0.0-dev", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, + "autoload": { + "psr-4": { + "Magento\\FunctionalTest\\Cron\\": "" + } + }, + "extra": { + "map": [ + [ + "*", + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Cron" + ] + ] + } +} diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CurrencySymbol/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CurrencySymbol/README.md index 110a01dc96d58307519f1089e39dd71204ce421a..e5e9c0458b1b692b54f4c9dcbdd100162e1a1645 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CurrencySymbol/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CurrencySymbol/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_CurrencySymbol** Module. +The Functional Tests Module for **Magento_CurrencySymbol** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CurrencySymbol/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CurrencySymbol/composer.json index 9568fdb29ca38d904862b179a2f224460af4fa82..abd3fe78abde0aabbd7302d4a785ee6bf8a45511 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CurrencySymbol/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CurrencySymbol/composer.json @@ -1,53 +1,36 @@ { "name": "magento/magento2-functional-test-module-currency-symbol", - "description": "Magento 2 Acceptance Test Module Currency Symbol", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-page-cache": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Currency Symbol", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-page-cache": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CurrencySymbol\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CurrencySymbol" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CurrencySymbol" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/AdminCreateCustomerCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/AdminCreateCustomerCest.xml index b577bca92e34f747dda87b98b4d83a3894471b74..b0a4cb06c0842fd7c178c6877294123fd430f36e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/AdminCreateCustomerCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/AdminCreateCustomerCest.xml @@ -21,29 +21,26 @@ <testCaseId value="MAGETWO-72095"/> <group value="customer"/> <group value="create"/> - <env value="chrome"/> - <env value="headless"/> </annotations> - <amOnPage url="{{AdminLoginPage.url}}" mergeKey="navigateToAdmin"/> - <fillField userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" selector="{{AdminLoginFormSection.username}}" mergeKey="fillUsername"/> - <fillField userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" selector="{{AdminLoginFormSection.password}}" mergeKey="fillPassword"/> - <click selector="{{AdminLoginFormSection.signIn}}" mergeKey="clickLogin"/> - <amOnPage url="{{AdminCustomerPage.url}}" mergeKey="navigateToCustomers"/> - <click selector="{{AdminCustomerMainActionsSection.addNewCustomer}}" mergeKey="clickCreateCustomer"/> - <fillField userInput="{{CustomerEntityOne.firstname}}" selector="{{AdminNewCustomerAccountInformationSection.firstName}}" mergeKey="fillFirstName"/> - <fillField userInput="{{CustomerEntityOne.lastname}}" selector="{{AdminNewCustomerAccountInformationSection.lastName}}" mergeKey="fillLastName"/> - <fillField userInput="{{CustomerEntityOne.email}}" selector="{{AdminNewCustomerAccountInformationSection.email}}" mergeKey="fillEmail"/> - <click selector="{{AdminNewCustomerMainActionsSection.saveButton}}" mergeKey="saveCustomer"/> - <waitForElementNotVisible selector="div [data-role='spinner']" time="10" mergeKey="waitForSpinner1"/> - <seeElement selector="{{AdminCustomerMessagesSection.successMessage}}" mergeKey="assertSuccessMessage"/> - - <click selector="{{AdminCustomerFiltersSection.filtersButton}}" mergeKey="openFilter"/> - <fillField userInput="{{CustomerEntityOne.firstname}}" selector="{{AdminCustomerFiltersSection.nameInput}}" mergeKey="filterFirstName"/> - <click selector="{{AdminCustomerFiltersSection.apply}}" mergeKey="applyFilter"/> - <waitForElementNotVisible selector="div [data-role='spinner']" time="10" mergeKey="waitForSpinner2"/> - <see userInput="{{CustomerEntityOne.firstname}}" selector="{{AdminCustomerGridSection.customerGrid}}" mergeKey="assertFirstName"/> - <see userInput="{{CustomerEntityOne.lastname}}" selector="{{AdminCustomerGridSection.customerGrid}}" mergeKey="assertLastName"/> - <see userInput="{{CustomerEntityOne.email}}" selector="{{AdminCustomerGridSection.customerGrid}}" mergeKey="assertEmail"/> + <amOnPage url="{{AdminLoginPage.url}}" stepKey="navigateToAdmin"/> + <fillField userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" selector="{{AdminLoginFormSection.username}}" stepKey="fillUsername"/> + <fillField userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" selector="{{AdminLoginFormSection.password}}" stepKey="fillPassword"/> + <click selector="{{AdminLoginFormSection.signIn}}" stepKey="clickLogin"/> + <amOnPage url="{{AdminCustomerPage.url}}" stepKey="navigateToCustomers"/> + <click selector="{{AdminCustomerMainActionsSection.addNewCustomer}}" stepKey="clickCreateCustomer"/> + <fillField userInput="{{CustomerEntityOne.firstname}}" selector="{{AdminNewCustomerAccountInformationSection.firstName}}" stepKey="fillFirstName"/> + <fillField userInput="{{CustomerEntityOne.lastname}}" selector="{{AdminNewCustomerAccountInformationSection.lastName}}" stepKey="fillLastName"/> + <fillField userInput="{{CustomerEntityOne.email}}" selector="{{AdminNewCustomerAccountInformationSection.email}}" stepKey="fillEmail"/> + <click selector="{{AdminNewCustomerMainActionsSection.saveButton}}" stepKey="saveCustomer"/> + <waitForElementNotVisible selector="div [data-role='spinner']" time="10" stepKey="waitForSpinner1"/> + <seeElement selector="{{AdminCustomerMessagesSection.successMessage}}" stepKey="assertSuccessMessage"/> + <click selector="{{AdminCustomerFiltersSection.filtersButton}}" stepKey="openFilter"/> + <fillField userInput="{{CustomerEntityOne.email}}" selector="{{AdminCustomerFiltersSection.emailInput}}" stepKey="filterEmail"/> + <click selector="{{AdminCustomerFiltersSection.apply}}" stepKey="applyFilter"/> + <waitForElementNotVisible selector="div [data-role='spinner']" time="10" stepKey="waitForSpinner2"/> + <see userInput="{{CustomerEntityOne.firstname}}" selector="{{AdminCustomerGridSection.customerGrid}}" stepKey="assertFirstName"/> + <see userInput="{{CustomerEntityOne.lastname}}" selector="{{AdminCustomerGridSection.customerGrid}}" stepKey="assertLastName"/> + <see userInput="{{CustomerEntityOne.email}}" selector="{{AdminCustomerGridSection.customerGrid}}" stepKey="assertEmail"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/StorefrontCreateCustomerCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/StorefrontCreateCustomerCest.xml index 37fe0017b8685108e649e6f1800e39b54d20a29a..80ab4ea6d9c1343972c6cc96891c679eadc85e9d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/StorefrontCreateCustomerCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/StorefrontCreateCustomerCest.xml @@ -21,22 +21,19 @@ <testCaseId value="MAGETWO-23546"/> <group value="customer"/> <group value="create"/> - <env value="chrome"/> - <env value="firefox"/> - <env value="headless"/> </annotations> - <amOnPage mergeKey="amOnStorefrontPage" url="/"/> - <click mergeKey="clickOnCreateAccountLink" selector="{{StorefrontPanelHeaderSection.createAnAccountLink}}"/> - <fillField mergeKey="fillFirstName" userInput="{{CustomerEntityOne.firstname}}" selector="{{StorefrontCustomerCreateFormSection.firstnameField}}"/> - <fillField mergeKey="fillLastName" userInput="{{CustomerEntityOne.lastname}}" selector="{{StorefrontCustomerCreateFormSection.lastnameField}}"/> - <fillField mergeKey="fillEmail" userInput="{{CustomerEntityOne.email}}" selector="{{StorefrontCustomerCreateFormSection.emailField}}"/> - <fillField mergeKey="fillPassword" userInput="{{CustomerEntityOne.password}}" selector="{{StorefrontCustomerCreateFormSection.passwordField}}"/> - <fillField mergeKey="fillConfirmPassword" userInput="{{CustomerEntityOne.password}}" selector="{{StorefrontCustomerCreateFormSection.confirmPasswordField}}"/> - <click mergeKey="clickCreateAccountButton" selector="{{StorefrontCustomerCreateFormSection.createAccountButton}}"/> - <see mergeKey="seeThankYouMessage" userInput="Thank you for registering with Main Website Store."/> - <see mergeKey="seeFirstName" userInput="{{CustomerEntityOne.firstname}}" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> - <see mergeKey="seeLastName" userInput="{{CustomerEntityOne.lastname}}" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> - <see mergeKey="seeEmail" userInput="{{CustomerEntityOne.email}}" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> + <amOnPage stepKey="amOnStorefrontPage" url="/"/> + <click stepKey="clickOnCreateAccountLink" selector="{{StorefrontPanelHeaderSection.createAnAccountLink}}"/> + <fillField stepKey="fillFirstName" userInput="{{CustomerEntityOne.firstname}}" selector="{{StorefrontCustomerCreateFormSection.firstnameField}}"/> + <fillField stepKey="fillLastName" userInput="{{CustomerEntityOne.lastname}}" selector="{{StorefrontCustomerCreateFormSection.lastnameField}}"/> + <fillField stepKey="fillEmail" userInput="{{CustomerEntityOne.email}}" selector="{{StorefrontCustomerCreateFormSection.emailField}}"/> + <fillField stepKey="fillPassword" userInput="{{CustomerEntityOne.password}}" selector="{{StorefrontCustomerCreateFormSection.passwordField}}"/> + <fillField stepKey="fillConfirmPassword" userInput="{{CustomerEntityOne.password}}" selector="{{StorefrontCustomerCreateFormSection.confirmPasswordField}}"/> + <click stepKey="clickCreateAccountButton" selector="{{StorefrontCustomerCreateFormSection.createAccountButton}}"/> + <see stepKey="seeThankYouMessage" userInput="Thank you for registering with Main Website Store."/> + <see stepKey="seeFirstName" userInput="{{CustomerEntityOne.firstname}}" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> + <see stepKey="seeLastName" userInput="{{CustomerEntityOne.lastname}}" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> + <see stepKey="seeEmail" userInput="{{CustomerEntityOne.email}}" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> </test> </cest> </config> \ No newline at end of file diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/StorefrontPersistedCustomerLoginCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/StorefrontPersistedCustomerLoginCest.xml index 2e039b51bf107433c1269bf790e510b061fe6d50..2045fd3a97a226f81bbc6fd3edad688ce19a999b 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/StorefrontPersistedCustomerLoginCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Cest/StorefrontPersistedCustomerLoginCest.xml @@ -14,10 +14,10 @@ <stories value="Persisted customer can login from storefront."/> </annotations> <before> - <createData mergeKey="customer" entity="Simple_US_Customer"/> + <createData stepKey="customer" entity="Simple_US_Customer"/> </before> <after> - <deleteData mergeKey="deleteCustomer" createDataKey="customer" /> + <deleteData stepKey="deleteCustomer" createDataKey="customer" /> </after> <test name="StorefrontPersistedCustomerLoginTest"> <annotations> @@ -26,18 +26,14 @@ <severity value="CRITICAL"/> <testCaseId value="MAGETWO-72103"/> <group value="customer"/> - <env value="chrome"/> - <env value="firefox"/> - <env value="phantomjs"/> - <env value="headless"/> </annotations> - <amOnPage mergeKey="amOnSignInPage" url="{{StorefrontCustomerSignInPage.url}}"/> - <fillField mergeKey="fillEmail" userInput="$$customer.email$$" selector="{{StorefrontCustomerSignInFormSection.emailField}}"/> - <fillField mergeKey="fillPassword" userInput="$$customer.password$$" selector="{{StorefrontCustomerSignInFormSection.passwordField}}"/> - <click mergeKey="clickSignInAccountButton" selector="{{StorefrontCustomerSignInFormSection.signInAccountButton}}"/> - <see mergeKey="seeFirstName" userInput="$$customer.firstname$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> - <see mergeKey="seeLastName" userInput="$$customer.lastname$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> - <see mergeKey="seeEmail" userInput="$$customer.email$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> + <amOnPage stepKey="amOnSignInPage" url="{{StorefrontCustomerSignInPage.url}}"/> + <fillField stepKey="fillEmail" userInput="$$customer.email$$" selector="{{StorefrontCustomerSignInFormSection.emailField}}"/> + <fillField stepKey="fillPassword" userInput="$$customer.password$$" selector="{{StorefrontCustomerSignInFormSection.passwordField}}"/> + <click stepKey="clickSignInAccountButton" selector="{{StorefrontCustomerSignInFormSection.signInAccountButton}}"/> + <see stepKey="seeFirstName" userInput="$$customer.firstname$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> + <see stepKey="seeLastName" userInput="$$customer.lastname$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> + <see stepKey="seeEmail" userInput="$$customer.email$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/README.md index a7c25afc9a39e634937ea39fd9ec8f69e6aaf016..cb51dcef8c48e2abd6ee91c3a0de61fb5a5baa02 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Customer** Module. +The Functional Tests Module for **Magento_Customer** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Section/AdminCustomerFiltersSection.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Section/AdminCustomerFiltersSection.xml index 57449d2b22bfb2c7002f791825d87912e481d15c..8e21effe98df914e2aceb1bfe9ffa352056a4329 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Section/AdminCustomerFiltersSection.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/Section/AdminCustomerFiltersSection.xml @@ -11,6 +11,7 @@ <section name="AdminCustomerFiltersSection"> <element name="filtersButton" type="button" selector="#container > div > div.admin__data-grid-header > div:nth-child(1) > div.data-grid-filters-actions-wrap > div > button" timeout="30"/> <element name="nameInput" type="input" selector="input[name=name]"/> + <element name="emailInput" type="input" selector="input[name=email]"/> <element name="apply" type="button" selector="button[data-action=grid-filter-apply]" timeout="30"/> </section> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/composer.json index 61a6eddb0edff54018bee7064a27e6f1d644ccb7..619e4f895373b330bf1ca925973487ced655441a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer/composer.json @@ -1,67 +1,50 @@ { "name": "magento/magento2-functional-test-module-customer", - "description": "Magento 2 Acceptance Test Module Customer", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop", - "magento/magento2-functional-test-module-catalog": "dev-master" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-newsletter": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-wishlist": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-review": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-authorization": "dev-master", - "magento/magento2-functional-test-module-integration": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-page-cache": "dev-master" - }, + "description": "Magento 2 Functional Test Module Customer", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-authorization": "100.0.0-dev", + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-integration": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-newsletter": "100.0.0-dev", + "magento/magento2-functional-test-module-page-cache": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-review": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-wishlist": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Customer\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Customer" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Customer" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerAnalytics/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerAnalytics/composer.json index 2f6c9d54e2b24e8e8c890e036abd163d594a861f..84a73e12eb4ff6fd8a2d8ac190c8fb793c89cb5d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerAnalytics/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerAnalytics/composer.json @@ -1,42 +1,25 @@ { "name": "magento/magento2-functional-test-module-customer-analytics", "description": "Magento 2 Acceptance Test Module Customer Analytics", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-customer": "dev-master" - }, "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-customer": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CustomerAnalytics\\": "" } }, "extra": { diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerImportExport/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerImportExport/README.md index 05e03b11a1b8cd6117a67dbe4464122abb379ed1..ebeb51bf1e4f23fe717ccebd5074371645392167 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerImportExport/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerImportExport/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_CustomerImportExport** Module. +The Functional Tests Module for **Magento_CustomerImportExport** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerImportExport/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerImportExport/composer.json index df1b19f9e528c3ccf3634a2006968794a1c29e60..dfa5a2761e5a4e65a076d65e0bfe7d710373b332 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerImportExport/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerImportExport/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-customer-import-export", - "description": "Magento 2 Acceptance Test Module Customer Import Export", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-import-export": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master" - }, + "description": "Magento 2 Functional Test Module Customer Import Export", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\CustomerImportExport\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/CustomerImportExport" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/CustomerImportExport" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/LICENSE.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..49525fd99da9c51e6d85420266d41cb3d6b7a648 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/LICENSE_AFL.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/LICENSE_AFL.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39d641b18a19e56df6c8a3e4038c940fb886b32 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/README.md new file mode 100644 index 0000000000000000000000000000000000000000..20704cfd90ce684ce0bac32d69be7c1140253555 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/README.md @@ -0,0 +1,3 @@ +# Magento 2 Functional Tests + +The Functional Tests Module for **Magento_Deploy** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..8f5f42b11e85a5baa2a16f39e65a97b63361b1e7 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy/composer.json @@ -0,0 +1,36 @@ +{ + "name": "magento/magento2-functional-test-module-deploy", + "description": "Magento 2 Functional Test Module Deploy", + "type": "magento2-test-module", + "version": "100.0.0-dev", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-require-js": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-user": "100.0.0-dev" + }, + "autoload": { + "psr-4": { + "Magento\\FunctionalTest\\Deploy\\": "" + } + }, + "extra": { + "map": [ + [ + "*", + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Deploy" + ] + ] + } +} diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Developer/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Developer/README.md index f22b6ee1bf829161112e73785f7780c2911c72d2..4aff70291bbf6ad185e1febe2c48ed2690821bd8 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Developer/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Developer/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Developer** Module. +The Functional Tests Module for **Magento_Developer** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Developer/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Developer/composer.json index dee920ee0319e2aa7090b179ccaf0c75f2d232b8..ed52481f544f05b86efc47b0bfc820254466cf89 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Developer/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Developer/composer.json @@ -1,50 +1,33 @@ { "name": "magento/magento2-functional-test-module-developer", - "description": "Magento 2 Acceptance Test Module Developer", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master" - }, + "description": "Magento 2 Functional Test Module Developer", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Developer\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Developer" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Developer" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Dhl/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Dhl/README.md index aca768d25105a91b728ba709dbe21e4723e85389..bda156c74e0ca1a6575eb9d86e852128e112390d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Dhl/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Dhl/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Dhl** Module. +The Functional Tests Module for **Magento_Dhl** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Dhl/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Dhl/composer.json index 0a9e884bde641ea54e9b208b7efd0e8d72c4f578..a7c5fd0f6cf5f05a6ba2c7a1cc7150cbc34c20db 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Dhl/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Dhl/composer.json @@ -1,57 +1,40 @@ { "name": "magento/magento2-functional-test-module-dhl", - "description": "Magento 2 Acceptance Test Module Dhl", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-shipping": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master" - }, + "description": "Magento 2 Functional Test Module Dhl", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Dhl\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Dhl" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Dhl" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Directory/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Directory/README.md index 450176d56505f66d628c9ec1812c76f47bffb5cd..b028b5b4c9ca59024329a6c08ebaf9bf212f8dfb 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Directory/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Directory/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Directory** Module. +The Functional Tests Module for **Magento_Directory** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Directory/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Directory/composer.json index 3289183835004fef7dce6290c85f29cd7654c85d..9efba5d2592bdbf450ca67bc3b0169da4d39460d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Directory/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Directory/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-directory", - "description": "Magento 2 Acceptance Test Module Directory", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Directory", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Directory\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Directory" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Directory" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Downloadable/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Downloadable/README.md index b32c7fd5a8d29c1031e0804c53ad1a0313da05ed..cf2e356526c00c1dd36ce0945b5135ff3b506494 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Downloadable/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Downloadable/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Downloadable** Module. +The Functional Tests Module for **Magento_Downloadable** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Downloadable/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Downloadable/composer.json index 7f3a10bdbca744658435a010fb8b78194bc49995..242492bc7e0130957902541b8ef364f51f40eb09 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Downloadable/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Downloadable/composer.json @@ -1,64 +1,47 @@ { "name": "magento/magento2-functional-test-module-downloadable", - "description": "Magento 2 Acceptance Test Module Downloadable", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-gift-message": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Downloadable", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-gift-message": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Downloadable\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Downloadable" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Downloadable" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/DownloadableImportExport/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/DownloadableImportExport/README.md index 7d1d4ce593856207871cfb3769217e1cbb29a33c..7edcc4ffcb39550a56b8bd1379322ae7bf4be096 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/DownloadableImportExport/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/DownloadableImportExport/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_DownloadableImportExport** Module. +The Functional Tests Module for **Magento_DownloadableImportExport** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/DownloadableImportExport/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/DownloadableImportExport/composer.json index a6290026e9cd2a14357e880db60153996e50f134..1d45efe751cc3ccf66e3201dd3e98a993f433e35 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/DownloadableImportExport/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/DownloadableImportExport/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-downloadable-import-export", - "description": "Magento 2 Acceptance Test Module Downloadable Import Export", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-import-export": "dev-master", - "magento/magento2-functional-test-module-catalog-import-export": "dev-master", - "magento/magento2-functional-test-module-downloadable": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master" - }, + "description": "Magento 2 Functional Test Module Downloadable Import Export", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-downloadable": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\DownloadableImportExport\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/DownloadableImportExport" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/DownloadableImportExport" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Eav/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Eav/README.md index 3ab73a4d5c7db2a5ee4a084e121dd5204717a59a..23724b09bd2cfd8749ef3aeab0e63cd555323c53 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Eav/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Eav/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_EAV** Module. +The Functional Tests Module for **Magento_Eav** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Eav/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Eav/composer.json index 8052d51dfb3322ee15793f8b59f6b571fc21fe37..457543c13e020f3775d789952bed6423dc8056d5 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Eav/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Eav/composer.json @@ -1,53 +1,36 @@ { "name": "magento/magento2-functional-test-module-eav", - "description": "Magento 2 Acceptance Test Module Eav", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master" - }, + "description": "Magento 2 Functional Test Module Eav", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Eav\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Eav" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Eav" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Email/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Email/README.md index af55ead5c200d46ee2e5deabb1019a25c40b20c3..413b1bcbbb525cd87722b4c34011a8706a8acb39 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Email/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Email/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Email** Module. +The Functional Tests Module for **Magento_Email** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Email/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Email/composer.json index 98f01cf7ec5a9c12dc72cae36d484fb5c8478355..0f8d5b27a3ed5e987da9d9f2c1837ca05748278c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Email/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Email/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-email", - "description": "Magento 2 Acceptance Test Module Email", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-variable": "dev-master" - }, + "description": "Magento 2 Functional Test Module Email", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-variable": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Email\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Email" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Email" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/EncryptionKey/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/EncryptionKey/README.md index c37fc732b0b87bb319ad8972fc2aee6fa2e3f875..61aa9a448b743ed0effab0ffa41d9c849dabb2ea 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/EncryptionKey/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/EncryptionKey/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_EncryptionKey** Module. +The Functional Tests Module for **Magento_EncryptionKey** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/EncryptionKey/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/EncryptionKey/composer.json index 933fe884401994db5ac1c232aeccf0afff3522b5..4e8debbc89755f74b339fbc7325c1a3a074186af 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/EncryptionKey/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/EncryptionKey/composer.json @@ -1,50 +1,33 @@ { "name": "magento/magento2-functional-test-module-encryption-key", - "description": "Magento 2 Acceptance Test Module Encryption Key", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master" - }, + "description": "Magento 2 Functional Test Module Encryption Key", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\EncryptionKey\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/EncryptionKey" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/EncryptionKey" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Fedex/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Fedex/README.md index cd33bda917f5c9e647de524ca2defc1129fc950e..93d1828ef4ccd0729351aa896b27b7767fad6cf2 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Fedex/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Fedex/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Fedex** Module. +The Functional Tests Module for **Magento_Fedex** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Fedex/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Fedex/composer.json index f5102092a43c4d58ffa3ee56d2f3ffe5148f4a64..ecc4a6e3886839090d63a9f3f6c4970eb5c38c71 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Fedex/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Fedex/composer.json @@ -1,56 +1,39 @@ { "name": "magento/magento2-functional-test-module-fedex", - "description": "Magento 2 Acceptance Test Module Fedex", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-shipping": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master" - }, + "description": "Magento 2 Functional Test Module Fedex", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Fedex\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Fedex" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Fedex" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GiftMessage/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GiftMessage/README.md index bc57464b7ed2fa6c3dae332a06502223d728acb6..49fd114a43a24e7c92df0544a0b61c088c200999 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GiftMessage/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GiftMessage/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_GiftMessage** Module. +The Functional Tests Module for **Magento_GiftMessage** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GiftMessage/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GiftMessage/composer.json index cf76a42eddc81be66216525c88a1ef2bd7d40f45..15bc979a7e7b8f2d69ebe04cb81ad358c8de66ed 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GiftMessage/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GiftMessage/composer.json @@ -1,56 +1,39 @@ { "name": "magento/magento2-functional-test-module-gift-message", - "description": "Magento 2 Acceptance Test Module Gift Message", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Gift Message", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\GiftMessage\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/GiftMessage" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GiftMessage" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAdwords/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAdwords/README.md index 14b40663eff162f4cd63372af443cfc5f1698b64..6e3595cd366c6dd0fc7a51703b702895f05a513f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAdwords/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAdwords/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_GoogleAdwords** Module. +The Functional Tests Module for **Magento_GoogleAdwords** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAdwords/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAdwords/composer.json index ca0a31fa03117cb47cb80c73965b02588dc7b69a..b91c49343d1037ec4c66ddc55390a184d60334d8 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAdwords/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAdwords/composer.json @@ -1,50 +1,33 @@ { "name": "magento/magento2-functional-test-module-google-adwords", - "description": "Magento 2 Acceptance Test Module Google Adwords", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master" - }, + "description": "Magento 2 Functional Test Module Google Adwords", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\GoogleAdwords\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/GoogleAdwords" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAdwords" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAnalytics/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAnalytics/README.md index 28c1ed435eab4875de74300325de24b786b63aae..0fa9dbd614ae7b33ea66400a875e6e8471299a7a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAnalytics/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAnalytics/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_GoogleAnalytics** Module. +The Functional Tests Module for **Magento_GoogleAnalytics** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAnalytics/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAnalytics/composer.json index 5bbef3c149b6cf0968db7e0a330c0c262d34710a..d020e266ca9c5db5d93b55226b7461825f663906 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAnalytics/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAnalytics/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-google-analytics", - "description": "Magento 2 Acceptance Test Module Google Analytics", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-cookie": "dev-master" - }, + "description": "Magento 2 Functional Test Module Google Analytics", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-cookie": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\GoogleAnalytics\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/GoogleAnalytics" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleAnalytics" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleOptimizer/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleOptimizer/README.md index cf934ee7882e4962c570a66d403832e33541303b..9bdf02b6170ed5a381c329991a71adaba644e519 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleOptimizer/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleOptimizer/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_GoogleOptimizer** Module. +The Functional Tests Module for **Magento_GoogleOptimizer** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleOptimizer/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleOptimizer/composer.json index 1454630bd0a75263524240d84898a60ab75739d3..8dc7207d42b779d24ac00c1328d4af1d973a9697 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleOptimizer/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleOptimizer/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-google-optimizer", - "description": "Magento 2 Acceptance Test Module Google Optimizer", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-google-analytics": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Google Optimizer", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-google-analytics": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\GoogleOptimizer\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/GoogleOptimizer" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GoogleOptimizer" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/LICENSE.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..49525fd99da9c51e6d85420266d41cb3d6b7a648 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/LICENSE_AFL.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/LICENSE_AFL.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39d641b18a19e56df6c8a3e4038c940fb886b32 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1f48eef7f97a7cf9f12b0bfe1f39dd209979779f --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/README.md @@ -0,0 +1,3 @@ +# Magento 2 Functional Tests + +The Functional Tests Module for **Magento_GraphQl** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..296a254a4d213036223154852e673d8c1928ed1b --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl/composer.json @@ -0,0 +1,35 @@ +{ + "name": "magento/magento2-functional-test-module-graph-ql", + "description": "Magento 2 Functional Test Module Graph Ql", + "type": "magento2-test-module", + "version": "100.0.0-dev", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-webapi": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev" + }, + "autoload": { + "psr-4": { + "Magento\\FunctionalTest\\GraphQl\\": "" + } + }, + "extra": { + "map": [ + [ + "*", + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GraphQl" + ] + ] + } +} diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedImportExport/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedImportExport/composer.json index faafa32659f03b6f6c8ad5aa22107336c13302a4..05f0d72d0e740d04c70d662a0f3d3fefc72eb8c0 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedImportExport/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedImportExport/composer.json @@ -1,53 +1,36 @@ { "name": "magento/magento2-functional-test-module-grouped-import-export", - "description": "Magento 2 Acceptance Test Module Grouped Import Export", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-import-export": "dev-master", - "magento/magento2-functional-test-module-catalog-import-export": "dev-master", - "magento/magento2-functional-test-module-grouped-product": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master" - }, + "description": "Magento 2 Functional Test Module Grouped Import Export", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-import-export": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-grouped-product": "100.0.0-dev", + "magento/magento2-functional-test-module-import-export": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\GroupedImportExport\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/GroupedImportExport" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedImportExport" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedProduct/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedProduct/README.md index ed07eaabba75af9d0f1f4afb3daed799ece2cfeb..edf1e0dc3d2f571aba7e21893b7e01090d641fa2 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedProduct/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedProduct/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_GroupedProduct** Module. +The Functional Tests Module for **Magento_GroupedProduct** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedProduct/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedProduct/composer.json index 7b76ef1ad97666e2a5d171e5fb4844a0b7d4c06b..036d0130867c8fa164c01283481cf8520fa49381 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedProduct/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedProduct/composer.json @@ -1,60 +1,43 @@ { "name": "magento/magento2-functional-test-module-grouped-product", - "description": "Magento 2 Acceptance Test Module Grouped Product", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-msrp": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Grouped Product", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-msrp": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\GroupedProduct\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/GroupedProduct" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/GroupedProduct" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ImportExport/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ImportExport/README.md index 5723866dc44c2dcc3bda1567054b47eb87f8de60..b762f5fb7351cc3f6446002d13fe9f88063ed675 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ImportExport/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ImportExport/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_ImportExport** Module. +The Functional Tests Module for **Magento_ImportExport** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ImportExport/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ImportExport/composer.json index 1e254c70045a16cb13ade749788a7ed57fffcb8c..ccd2b010ff738032258f23b810fcdd6ef8587d08 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ImportExport/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ImportExport/composer.json @@ -1,53 +1,36 @@ { "name": "magento/magento2-functional-test-module-import-export", - "description": "Magento 2 Acceptance Test Module Import Export", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master" - }, + "description": "Magento 2 Functional Test Module Import Export", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\ImportExport\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/ImportExport" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ImportExport" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Indexer/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Indexer/README.md index f59821dc099cda42573a2c224d129b835e138a15..21212a0fed31e4243776a9360e12242292cfa56a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Indexer/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Indexer/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Indexer** Module. +The Functional Tests Module for **Magento_Indexer** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Indexer/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Indexer/composer.json index a56ee31fae160173532fcb1977f16d19adae377d..7f118d8d4e0aa8af9a9ced90ea469b3c8366275f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Indexer/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Indexer/composer.json @@ -1,49 +1,32 @@ { "name": "magento/magento2-functional-test-module-indexer", - "description": "Magento 2 Acceptance Test Module Indexer", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Indexer", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Indexer\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Indexer" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Indexer" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/LICENSE.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..49525fd99da9c51e6d85420266d41cb3d6b7a648 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/LICENSE_AFL.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/LICENSE_AFL.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39d641b18a19e56df6c8a3e4038c940fb886b32 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9975174d27ee7900e32a920a513694029cfc0bcf --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/README.md @@ -0,0 +1,3 @@ +# Magento 2 Functional Tests + +The Functional Tests Module for **Magento_InstantPurchase** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..2004570a0cad6b9716263fb97af58adffd6182f4 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase/composer.json @@ -0,0 +1,38 @@ +{ + "name": "magento/magento2-functional-test-module-instant-purchase", + "description": "Magento 2 Functional Test Module Instant Purchase", + "type": "magento2-test-module", + "version": "100.0.0-dev", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-vault": "100.0.0-dev" + }, + "autoload": { + "psr-4": { + "Magento\\FunctionalTest\\InstantPurchase\\": "" + } + }, + "extra": { + "map": [ + [ + "*", + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/InstantPurchase" + ] + ] + } +} diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Integration/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Integration/README.md index 08c9cd5f24f40966af74318a222ae9b1eb749b13..2f024c81e5141583489d41c62d7ea85b4257d75e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Integration/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Integration/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Integration** Module. +The Functional Tests Module for **Magento_Integration** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Integration/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Integration/composer.json index 2c776a48ae4d6a51e5a33328ee9dcf1df17df942..8ff747736c94a4ac561b35f55d6dfb480cd34fe5 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Integration/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Integration/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-integration", - "description": "Magento 2 Acceptance Test Module Integration", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-user": "dev-master", - "magento/magento2-functional-test-module-security": "dev-master", - "magento/magento2-functional-test-module-authorization": "dev-master" - }, + "description": "Magento 2 Functional Test Module Integration", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-authorization": "100.0.0-dev", + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-security": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-user": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Integration\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Integration" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Integration" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/LayeredNavigation/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/LayeredNavigation/README.md index 89ac42d6134b18d5c947ce49b09454349657690e..6c864b9f5eeddd66bd116b73e563a63c1ceb1828 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/LayeredNavigation/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/LayeredNavigation/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_LayeredNavigation** Module. +The Functional Tests Module for **Magento_LayeredNavigation** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/LayeredNavigation/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/LayeredNavigation/composer.json index 5b74e905bee9926f93f970d8ef3876cffd2464b2..4579bbc1cbbd8c1290f1532a8d385b714c34c12b 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/LayeredNavigation/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/LayeredNavigation/composer.json @@ -1,50 +1,33 @@ { "name": "magento/magento2-functional-test-module-layered-navigation", - "description": "Magento 2 Acceptance Test Module Layered Navigation", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master" - }, + "description": "Magento 2 Functional Test Module Layered Navigation", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\LayeredNavigation\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/LayeredNavigation" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/LayeredNavigation" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Marketplace/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Marketplace/README.md index cfd23dfcbace3ef926c420a4a3b5330ab1d254a8..5c744ec36f1be2f44329ea9aebfeedc79c61ff05 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Marketplace/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Marketplace/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Marketplace** Module. +The Functional Tests Module for **Magento_Marketplace** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Marketplace/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Marketplace/composer.json index d3f589a31a05a103d6b12e93a9665b99f2ae2709..b1249f0ef9cc0aa5843f645f847b0614ffcb11c8 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Marketplace/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Marketplace/composer.json @@ -1,49 +1,32 @@ { "name": "magento/magento2-functional-test-module-marketplace", - "description": "Magento 2 Acceptance Test Module Marketplace", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Marketplace", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Marketplace\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Marketplace" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Marketplace" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/MediaStorage/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/MediaStorage/README.md index bd023f6f926d4b72fe5d2979c5c0daca6f5ae673..ee885969bb1273beaf6f1d3066541e7a0a84e5ed 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/MediaStorage/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/MediaStorage/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_MediaStorage** Module. +The Functional Tests Module for **Magento_MediaStorage** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/MediaStorage/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/MediaStorage/composer.json index cc893b603f40aedf17460562d049cec93dcde872..6326c8e7af73e5f798f2a3c2bff2348819417308 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/MediaStorage/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/MediaStorage/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-media-storage", - "description": "Magento 2 Acceptance Test Module Media Storage", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Media Storage", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\MediaStorage\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/MediaStorage" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/MediaStorage" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Msrp/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Msrp/composer.json index 8b3fcba7e67eed9b772484c121d004f7d18d0c17..fe8ddd6d3b55b99bf5377f76da485b1622083309 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Msrp/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Msrp/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-msrp", - "description": "Magento 2 Acceptance Test Module Msrp", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-downloadable": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-grouped-product": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master" - }, + "description": "Magento 2 Functional Test Module Msrp", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-downloadable": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-grouped-product": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Msrp\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Msrp" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Msrp" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Multishipping/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Multishipping/README.md index 5eac4359473be6a08a255ef5c69fd4ffd52c6b7a..b6e1b54d6ac6e27421416ca9804cd9df649de94b 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Multishipping/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Multishipping/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Multishipping** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Multishipping** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Multishipping/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Multishipping/composer.json index 809353b1eaa310d5afd5a110e3eb8e5bbc178ff9..177fc24b9d0d7d0a2a206f5d94a53e1530b42bca 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Multishipping/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Multishipping/composer.json @@ -1,56 +1,39 @@ { "name": "magento/magento2-functional-test-module-multishipping", - "description": "Magento 2 Acceptance Test Module Multishipping", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master" - }, + "description": "Magento 2 Functional Test Module Multishipping", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Multishipping\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Multishipping" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Multishipping" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/NewRelicReporting/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/NewRelicReporting/README.md index 68dd1d5267af30129b0c82dc58daad2719367113..c6d4c6906be90e400eb41400b0fe7b73f7ee7f7c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/NewRelicReporting/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/NewRelicReporting/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_NewRelicReporting** Module. \ No newline at end of file +The Functional Tests Module for **Magento_NewRelicReporting** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/NewRelicReporting/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/NewRelicReporting/composer.json index e2ce994efa1e63798c79b4299c7014e552d96c40..2a2cda0f85f463be3e4b0e0965627f136c43b899 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/NewRelicReporting/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/NewRelicReporting/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-new-relic-reporting", - "description": "Magento 2 Acceptance Test Module New Relic Reporting", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-configurable-product": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master" - }, + "description": "Magento 2 Functional Test Module New Relic Reporting", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-configurable-product": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\NewRelicReporting\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/NewRelicReporting" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/NewRelicReporting" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Newsletter/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Newsletter/README.md index b38526eec86535600576952a2f1d74ad651389cf..95a365b8b8f79a1b9031642f253947ce73021f9f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Newsletter/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Newsletter/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Newsletter** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Newsletter** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Newsletter/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Newsletter/composer.json index 34046ce9e836cad7efea5f570396e54a04f87fd4..eb952a34a048330b8837f049e63f83de138fc5ed 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Newsletter/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Newsletter/composer.json @@ -1,55 +1,39 @@ { "name": "magento/magento2-functional-test-module-newsletter", - "description": "Magento 2 Acceptance Test Module Newsletter", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-widget": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-email": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master" - }, + "description": "Magento 2 Functional Test Module Newsletter", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-email": "100.0.0-dev", + "magento/magento2-functional-test-module-require-js": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-widget": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Newsletter\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Newsletter" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Newsletter" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflinePayments/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflinePayments/README.md index 46fc09f181aef874fc191e7c5719c709af96e5b8..ba6e5c9680dbd869a5e3326dd6a23a015a3bcea3 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflinePayments/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflinePayments/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_OfflinePayments** Module. \ No newline at end of file +The Functional Tests Module for **Magento_OfflinePayments** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflinePayments/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflinePayments/composer.json index aeed68809acebd546344303fac81aff7223b5621..30c236974bc50feff90790fae46fc6f5bae115a5 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflinePayments/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflinePayments/composer.json @@ -1,50 +1,33 @@ { "name": "magento/magento2-functional-test-module-offline-payments", - "description": "Magento 2 Acceptance Test Module Offline Payments", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master" - }, + "description": "Magento 2 Functional Test Module Offline Payments", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\OfflinePayments\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/OfflinePayments" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflinePayments" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflineShipping/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflineShipping/README.md index f430b9b2a1f41e92afd69ccc326d0fdef1aabbc8..42a12e4398e4f8da6fc5c3553a37433c1e5843cc 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflineShipping/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflineShipping/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_OfflineShipping** Module. \ No newline at end of file +The Functional Tests Module for **Magento_OfflineShipping** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflineShipping/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflineShipping/composer.json index babeb8ad2ec6dc7fa7eb95387a820fa21cdff8ed..4decb42f0c1e381861ca2103a25432cee500ad62 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflineShipping/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflineShipping/composer.json @@ -1,56 +1,40 @@ { "name": "magento/magento2-functional-test-module-offline-shipping", - "description": "Magento 2 Acceptance Test Module Offline Shipping", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-shipping": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-sales-rule": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master" - }, + "description": "Magento 2 Functional Test Module Offline Shipping", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-sales-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\OfflineShipping\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/OfflineShipping" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/OfflineShipping" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageCache/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageCache/README.md index b35a9877c8ba745b3fa84b624894842df1a2b351..8db3000b9408afc392d8752cc87a70dc9a8f627e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageCache/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageCache/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_PageCache** Module. \ No newline at end of file +The Functional Tests Module for **Magento_PageCache** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageCache/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageCache/composer.json index 59205152e0d9ed69cb7d91ced006b12d7e2e9649..496108b6f68d94d73529466067ab9c0493a2fb87 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageCache/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageCache/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-page-cache", - "description": "Magento 2 Acceptance Test Module Page Cache", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Page Cache", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\PageCache\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/PageCache" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageCache" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Payment/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Payment/README.md index a87d9a4f12b64db9cced4dd08b80f65f3fa87420..7a8fcc6210c9ebb05b8ce19e4b85fc30795e881e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Payment/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Payment/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Payment** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Payment** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Payment/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Payment/composer.json index ed77d470823995651108acec10aae163c62ee6e6..354652c14364186a4f1fe5beb8f604e7700f64de 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Payment/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Payment/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-payment", - "description": "Magento 2 Acceptance Test Module Payment", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master" - }, + "description": "Magento 2 Functional Test Module Payment", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Payment\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Payment" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Payment" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Paypal/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Paypal/README.md index e6c828ce0720681933ef91de0dcab8e49ec92470..820d3acc2e101bdbaafd4740576d0e9b5a0ba550 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Paypal/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Paypal/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_PayPal** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Paypal** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Paypal/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Paypal/composer.json index d82c9ccb34af713cd7580340f8ae016cf8b0fd42..b6df1314b0efc52e899a67ad68027ebafa20ebe9 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Paypal/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Paypal/composer.json @@ -1,63 +1,47 @@ { "name": "magento/magento2-functional-test-module-paypal", - "description": "Magento 2 Acceptance Test Module Paypal", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master", - "magento/magento2-functional-test-module-vault": "dev-master" - }, + "description": "Magento 2 Functional Test Module Paypal", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-instant-purchase": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-vault": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Paypal\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Paypal" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Paypal" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Persistent/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Persistent/README.md index f0678daf757a04b857e05ad5d6da78a57ce15e29..690db182dcb4f8df45d0d145195cc7f4f7710618 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Persistent/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Persistent/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Persistent** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Persistent** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Persistent/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Persistent/composer.json index 0ee20653fbb801b319c11b02cac2cb91c8aeb6df..bd7db62c886163beefc5a5f55ed54cc1b54b0884 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Persistent/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Persistent/composer.json @@ -1,53 +1,37 @@ { "name": "magento/magento2-functional-test-module-persistent", - "description": "Magento 2 Acceptance Test Module Persistent", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-page-cache": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master" - }, + "description": "Magento 2 Functional Test Module Persistent", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-cron": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-page-cache": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Persistent\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Persistent" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Persistent" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductAlert/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductAlert/README.md index 00b577465e5dc4a1a88ff70fedc6ca0ee2489516..1a78d82877b016f0c61f4368fd9888d64c959803 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductAlert/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductAlert/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_ProductAlert** Module. \ No newline at end of file +The Functional Tests Module for **Magento_ProductAlert** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductAlert/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductAlert/composer.json index 15988266a20298980501ba1d8f2ae1d0c40ef1ac..7ef8a4a3da73705821453eef3f1d056b5fc8662a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductAlert/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductAlert/composer.json @@ -1,52 +1,35 @@ { "name": "magento/magento2-functional-test-module-product-alert", - "description": "Magento 2 Acceptance Test Module Product Alert", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master" - }, + "description": "Magento 2 Functional Test Module Product Alert", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\ProductAlert\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/ProductAlert" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductAlert" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductVideo/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductVideo/README.md index 73ee15ca28f4ef67fe2f394b0e114352eae667e8..0a19d3a9d1e60422e163f6529e26151fa2d5e610 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductVideo/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductVideo/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_ProductVideo** Module. \ No newline at end of file +The Functional Tests Module for **Magento_ProductVideo** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductVideo/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductVideo/composer.json index bc08abd34a11e2fbb9a74437b67fcf6c684522c4..daa23cb4d48c9ef9a1a79219011a82806ae06a0d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductVideo/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductVideo/composer.json @@ -1,53 +1,36 @@ { "name": "magento/magento2-functional-test-module-product-video", - "description": "Magento 2 Acceptance Test Module Product Video", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master" - }, + "description": "Magento 2 Functional Test Module Product Video", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\ProductVideo\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/ProductVideo" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ProductVideo" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Quote/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Quote/README.md index 510a9d5f16d6290de886f900b6cde9c7ad89bf71..17b0bf4c6051661b6aec4cdc7ba1c8deb1bc4a8b 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Quote/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Quote/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Quote** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Quote** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Quote/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Quote/composer.json index 2dba18c3fa4281db713742c2c249ca0e0dd23cae..9468fdf072ebfe9a5649259af72d0d56963e3a64 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Quote/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Quote/composer.json @@ -1,62 +1,45 @@ { "name": "magento/magento2-functional-test-module-quote", - "description": "Magento 2 Acceptance Test Module Quote", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-authorization": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-shipping": "dev-master", - "magento/magento2-functional-test-module-sales-sequence": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master" - }, + "description": "Magento 2 Functional Test Module Quote", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-authorization": "100.0.0-dev", + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-sales-sequence": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Quote\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Quote" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Quote" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/QuoteAnalytics/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/QuoteAnalytics/composer.json index b86c40e02fe430dc5168a30181dabe41bffbae50..4bd28d1b3c9031d494ca6930873362d229b03947 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/QuoteAnalytics/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/QuoteAnalytics/composer.json @@ -1,42 +1,25 @@ { "name": "magento/magento2-functional-test-module-quote-analytics", "description": "Magento 2 Acceptance Test Module Quote Analytics", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-quote": "dev-master" - }, "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-quote": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\QuoteAnalytics\\": "" } }, "extra": { diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Reports/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Reports/README.md index ad49607139a7a2fdee6eff5f90066c7a2980db05..d2bcbe81339adcc84d4eed5130fdfd80fd5b08df 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Reports/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Reports/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Reports** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Reports** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Reports/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Reports/composer.json index f73c4da907fbdf68c3dd3b638737c499ca969ad5..0ed1758889509ec15131e5e6307f3662602db94e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Reports/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Reports/composer.json @@ -1,64 +1,47 @@ { "name": "magento/magento2-functional-test-module-reports", - "description": "Magento 2 Acceptance Test Module Reports", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-widget": "dev-master", - "magento/magento2-functional-test-module-wishlist": "dev-master", - "magento/magento2-functional-test-module-review": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-downloadable": "dev-master", - "magento/magento2-functional-test-module-sales-rule": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master" - }, + "description": "Magento 2 Functional Test Module Reports", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-downloadable": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-review": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-sales-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-widget": "100.0.0-dev", + "magento/magento2-functional-test-module-wishlist": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Reports\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Reports" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Reports" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/LICENSE.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..49525fd99da9c51e6d85420266d41cb3d6b7a648 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/LICENSE_AFL.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/LICENSE_AFL.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39d641b18a19e56df6c8a3e4038c940fb886b32 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/README.md new file mode 100644 index 0000000000000000000000000000000000000000..64e6b0ef6e139acfd35b8d3eca832d93595d4efe --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/README.md @@ -0,0 +1,3 @@ +# Magento 2 Functional Tests + +The Functional Tests Module for **Magento_RequireJs** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..91ad289e0428844c5691220301dd99d7c57c062a --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs/composer.json @@ -0,0 +1,30 @@ +{ + "name": "magento/magento2-functional-test-module-require-js", + "description": "Magento 2 Functional Test Module Require Js", + "type": "magento2-test-module", + "version": "100.0.0-dev", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "autoload": { + "psr-4": { + "Magento\\FunctionalTest\\RequireJs\\": "" + } + }, + "extra": { + "map": [ + [ + "*", + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/RequireJs" + ] + ] + } +} diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Review/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Review/README.md index b34f3c949e0047266a05c8d0033c4e6fc06a1b57..71b1cdc87d9d66a93ff6ba46940bf291ad7bbf8a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Review/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Review/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Review** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Review** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Review/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Review/composer.json index 70f0e295838bd6d73766d40fd218e8dbafd90aa6..6b68bb0edc7579f7f116d80ebd2c460685f7c140 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Review/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Review/composer.json @@ -1,56 +1,39 @@ { "name": "magento/magento2-functional-test-module-review", - "description": "Magento 2 Acceptance Test Module Review", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-newsletter": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Review", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-newsletter": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Review\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Review" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Review" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ReviewAnalytics/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ReviewAnalytics/composer.json index 01772112b17e83d4e043e8201bc371124e47210a..546a20fe50c0f22fff7d92f6506ae02ea63e33e4 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ReviewAnalytics/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/ReviewAnalytics/composer.json @@ -1,42 +1,25 @@ { "name": "magento/magento2-functional-test-module-review-analytics", "description": "Magento 2 Acceptance Test Module Review Analytics", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-review": "dev-master" - }, "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-review": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\ReviewAnalytics\\": "" } }, "extra": { diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Robots/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Robots/README.md index 864304d41eec8ae07aa9e33a4548922c619bff56..87ea94e0f1d2304a1eeca2f25caff846b6404a9e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Robots/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Robots/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Robots** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Robots** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Robots/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Robots/composer.json index 082211c40a68f6f95b8a50981f9a12c7991bef4d..27945d5e16138509e1f4012e2c3dc6d91582614c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Robots/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Robots/composer.json @@ -1,49 +1,32 @@ { "name": "magento/magento2-functional-test-module-robots", - "description": "Magento 2 Acceptance Test Module Robots", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master" - }, + "description": "Magento 2 Functional Test Module Robots", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Robots\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Robots" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Robots" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rss/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rss/README.md index 04fc8e1c0d0223072d176420260731b20689b2c7..5002c878c2e54d81e41d05bf7e93c152c87c491a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rss/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rss/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Rss** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Rss** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rss/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rss/composer.json index d950390b0e1cdd01600d1454a3f5b4af155d384c..e8d57dd2456ccb2895c9629753882bdee1330658 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rss/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rss/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-rss", - "description": "Magento 2 Acceptance Test Module Rss", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master" - }, + "description": "Magento 2 Functional Test Module Rss", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Rss\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Rss" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rss" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rule/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rule/README.md index 02eb487f33c526a5fb05e749dc4e210a3f0aa5c3..a797fd63dc668a1192402244e9dc8b8bc7daa553 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rule/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rule/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Rule** Module. \ No newline at end of file +The Functional Tests Module for **Magento_Rule** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rule/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rule/composer.json index 11cefb3a7dff5e5ef9bd52073625e5458f17dd06..1d19dad8e30a8b8bbbf5e07e0439bb3b8891e88e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rule/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rule/composer.json @@ -1,52 +1,35 @@ { "name": "magento/magento2-functional-test-module-rule", - "description": "Magento 2 Acceptance Test Module Rule", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Rule", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Rule\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Rule" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Rule" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/Cest/AdminCreateInvoiceCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/Cest/AdminCreateInvoiceCest.xml index c043fe298f7674f97be8fd43a458eca86c7db740..e0279c22d9693e192c83bd6becd4b99af46426c1 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/Cest/AdminCreateInvoiceCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/Cest/AdminCreateInvoiceCest.xml @@ -14,8 +14,8 @@ <stories value="Create an Invoice via the Admin"/> </annotations> <before> - <createData entity="_defaultCategory" mergeKey="createCategory"/> - <createData entity="_defaultProduct" mergeKey="createProduct"> + <createData entity="_defaultCategory" stepKey="createCategory"/> + <createData entity="_defaultProduct" stepKey="createProduct"> <required-entity createDataKey="createCategory"/> </createData> </before> @@ -27,64 +27,63 @@ <severity value="NORMAL"/> <testCaseId value="MAGETWO-72096"/> <group value="sales"/> - <env value="chrome"/> - <env value="headless"/> </annotations> <!-- todo: Create an order via the api instead of driving the browser --> - <amOnPage url="{{StorefrontCategoryPage.url($$createCategory.name$$)}}" mergeKey="onCategoryPage"/> - <waitForPageLoad mergeKey="waitForPageLoad1"/> - <moveMouseOver selector="{{StorefrontCategoryMainSection.ProductItemInfo}}" mergeKey="hoverProduct"/> - <click selector="{{StorefrontCategoryMainSection.AddToCartBtn}}" mergeKey="addToCart"/> - <waitForElementVisible selector="{{StorefrontCategoryMainSection.SuccessMsg}}" time="30" mergeKey="waitForProductAdded"/> - <click selector="{{StorefrontMiniCartSection.show}}" mergeKey="clickCart"/> - <click selector="{{StorefrontMiniCartSection.goToCheckout}}" mergeKey="goToCheckout"/> - <waitForPageLoad mergeKey="waitForPageLoad2"/> - <fillField selector="{{CheckoutShippingGuestInfoSection.email}}" userInput="{{CustomerEntityOne.email}}" mergeKey="enterEmail"/> - <fillField selector="{{CheckoutShippingGuestInfoSection.firstName}}" userInput="{{CustomerEntityOne.firstname}}" mergeKey="enterFirstName"/> - <fillField selector="{{CheckoutShippingGuestInfoSection.lastName}}" userInput="{{CustomerEntityOne.lastname}}" mergeKey="enterLastName"/> - <fillField selector="{{CheckoutShippingGuestInfoSection.street}}" userInput="{{CustomerAddressSimple.street[0]}}" mergeKey="enterStreet"/> - <fillField selector="{{CheckoutShippingGuestInfoSection.city}}" userInput="{{CustomerAddressSimple.city}}" mergeKey="enterCity"/> - <selectOption selector="{{CheckoutShippingGuestInfoSection.region}}" userInput="{{CustomerAddressSimple.state}}" mergeKey="selectRegion"/> - <fillField selector="{{CheckoutShippingGuestInfoSection.postcode}}" userInput="{{CustomerAddressSimple.postcode}}" mergeKey="enterPostcode"/> - <fillField selector="{{CheckoutShippingGuestInfoSection.telephone}}" userInput="{{CustomerAddressSimple.telephone}}" mergeKey="enterTelephone"/> - <waitForLoadingMaskToDisappear mergeKey="waitForLoadingMask"/> - <click selector="{{CheckoutShippingMethodsSection.firstShippingMethod}}" mergeKey="selectFirstShippingMethod"/> - <waitForElement selector="{{CheckoutShippingMethodsSection.next}}" time="30" mergeKey="waitForNextButton"/> - <click selector="{{CheckoutShippingMethodsSection.next}}" mergeKey="clickNext"/> - <waitForElement selector="{{CheckoutPaymentSection.placeOrder}}" time="30" mergeKey="waitForPlaceOrderButton"/> - <click selector="{{CheckoutPaymentSection.placeOrder}}" mergeKey="clickPlaceOrder"/> - <grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber}}" returnVariable="orderNumber" mergeKey="grabOrderNumber"/> + <amOnPage url="{{StorefrontCategoryPage.url($$createCategory.name$$)}}" stepKey="onCategoryPage"/> + <waitForPageLoad stepKey="waitForPageLoad1"/> + <moveMouseOver selector="{{StorefrontCategoryMainSection.ProductItemInfo}}" stepKey="hoverProduct"/> + <click selector="{{StorefrontCategoryMainSection.AddToCartBtn}}" stepKey="addToCart"/> + <waitForElementVisible selector="{{StorefrontCategoryMainSection.SuccessMsg}}" time="30" stepKey="waitForProductAdded"/> + <click selector="{{StorefrontMiniCartSection.show}}" stepKey="clickCart"/> + <click selector="{{StorefrontMiniCartSection.goToCheckout}}" stepKey="goToCheckout"/> + <waitForPageLoad stepKey="waitForPageLoad2"/> + <fillField selector="{{CheckoutShippingGuestInfoSection.email}}" userInput="{{CustomerEntityOne.email}}" stepKey="enterEmail"/> + <fillField selector="{{CheckoutShippingGuestInfoSection.firstName}}" userInput="{{CustomerEntityOne.firstname}}" stepKey="enterFirstName"/> + <fillField selector="{{CheckoutShippingGuestInfoSection.lastName}}" userInput="{{CustomerEntityOne.lastname}}" stepKey="enterLastName"/> + <fillField selector="{{CheckoutShippingGuestInfoSection.street}}" userInput="{{CustomerAddressSimple.street[0]}}" stepKey="enterStreet"/> + <fillField selector="{{CheckoutShippingGuestInfoSection.city}}" userInput="{{CustomerAddressSimple.city}}" stepKey="enterCity"/> + <selectOption selector="{{CheckoutShippingGuestInfoSection.region}}" userInput="{{CustomerAddressSimple.state}}" stepKey="selectRegion"/> + <fillField selector="{{CheckoutShippingGuestInfoSection.postcode}}" userInput="{{CustomerAddressSimple.postcode}}" stepKey="enterPostcode"/> + <fillField selector="{{CheckoutShippingGuestInfoSection.telephone}}" userInput="{{CustomerAddressSimple.telephone}}" stepKey="enterTelephone"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask"/> + <click selector="{{CheckoutShippingMethodsSection.firstShippingMethod}}" stepKey="selectFirstShippingMethod"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask2"/> + <waitForElement selector="{{CheckoutShippingMethodsSection.next}}" time="30" stepKey="waitForNextButton"/> + <click selector="{{CheckoutShippingMethodsSection.next}}" stepKey="clickNext"/> + <waitForElement selector="{{CheckoutPaymentSection.placeOrder}}" time="30" stepKey="waitForPlaceOrderButton"/> + <click selector="{{CheckoutPaymentSection.placeOrder}}" stepKey="clickPlaceOrder"/> + <grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber}}" returnVariable="orderNumber" stepKey="grabOrderNumber"/> <!-- end todo --> - <amOnPage url="{{AdminLoginPage.url}}" mergeKey="goToAdmin"/> - <waitForPageLoad mergeKey="waitForPageLoad1"/> - <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" mergeKey="fillUsername"/> - <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" mergeKey="fillPassword"/> - <click selector="{{AdminLoginFormSection.signIn}}" mergeKey="clickLogin"/> + <amOnPage url="{{AdminLoginPage.url}}" stepKey="goToAdmin"/> + <waitForPageLoad stepKey="waitForPageLoad1"/> + <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" stepKey="fillUsername"/> + <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="fillPassword"/> + <click selector="{{AdminLoginFormSection.signIn}}" stepKey="clickLogin"/> - <amOnPage url="{{OrdersPage.url}}" mergeKey="onOrdersPage"/> - <waitForElementNotVisible selector="{{OrdersGridSection.spinner}}" time="10" mergeKey="waitSpinner1"/> - <fillField selector="{{OrdersGridSection.search}}" variable="orderNumber" mergeKey="searchOrderNum"/> - <click selector="{{OrdersGridSection.submitSearch}}" mergeKey="submitSearch"/> - <waitForElementNotVisible selector="{{OrdersGridSection.spinner}}" time="10" mergeKey="waitSpinner2"/> + <amOnPage url="{{OrdersPage.url}}" stepKey="onOrdersPage"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask3"/> + <fillField selector="{{OrdersGridSection.search}}" variable="orderNumber" stepKey="searchOrderNum"/> + <click selector="{{OrdersGridSection.submitSearch}}" stepKey="submitSearch"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask4"/> - <click selector="{{OrdersGridSection.firstRow}}" mergeKey="clickOrderRow"/> - <click selector="{{OrderDetailsMainActionsSection.invoice}}" mergeKey="clickInvoice"/> - <click selector="{{InvoiceNewSection.submitInvoice}}" mergeKey="clickSubmitInvoice"/> - <see selector="{{OrderDetailsMessagesSection.successMessage}}" userInput="The invoice has been created." mergeKey="seeSuccessMessage"/> - <click selector="{{OrderDetailsOrderViewSection.invoices}}" mergeKey="clickInvoices"/> - <waitForElementNotVisible selector="{{OrderDetailsInvoicesSection.spinner}}" time="10" mergeKey="waitSpinner3"/> - <see selector="{{OrderDetailsInvoicesSection.content}}" variable="orderNumber" mergeKey="seeInvoice1"/> - <see selector="{{OrderDetailsInvoicesSection.content}}" userInput="John Doe" mergeKey="seeInvoice2"/> - <click selector="{{OrderDetailsOrderViewSection.information}}" mergeKey="clickInformation"/> - <see selector="{{OrderDetailsInformationSection.orderStatus}}" userInput="Processing" mergeKey="seeOrderStatus"/> - <amOnPage url="{{InvoicesPage.url}}" mergeKey="goToInvoices"/> - <waitForElementNotVisible selector="{{InvoicesGridSection.spinner}}" time="10" mergeKey="waitSpinner4"/> - <click selector="{{InvoicesGridSection.filter}}" mergeKey="clickFilters"/> - <fillField selector="{{InvoicesFiltersSection.orderNum}}" variable="orderNumber" mergeKey="searchOrderNum2"/> - <click selector="{{InvoicesGridSection.firstRow}}" mergeKey="clickInvoice2"/> - <see selector="{{InvoiceDetailsInformationSection.orderStatus}}" userInput="Processing" mergeKey="seeOrderStatus2"/> + <click selector="{{OrdersGridSection.firstRow}}" stepKey="clickOrderRow"/> + <click selector="{{OrderDetailsMainActionsSection.invoice}}" stepKey="clickInvoice"/> + <click selector="{{InvoiceNewSection.submitInvoice}}" stepKey="clickSubmitInvoice"/> + <see selector="{{OrderDetailsMessagesSection.successMessage}}" userInput="The invoice has been created." stepKey="seeSuccessMessage"/> + <click selector="{{OrderDetailsOrderViewSection.invoices}}" stepKey="clickInvoices"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask5" /> + <see selector="{{OrderDetailsInvoicesSection.content}}" variable="orderNumber" stepKey="seeInvoice1"/> + <see selector="{{OrderDetailsInvoicesSection.content}}" userInput="John Doe" stepKey="seeInvoice2"/> + <click selector="{{OrderDetailsOrderViewSection.information}}" stepKey="clickInformation"/> + <see selector="{{OrderDetailsInformationSection.orderStatus}}" userInput="Processing" stepKey="seeOrderStatus"/> + <amOnPage url="{{InvoicesPage.url}}" stepKey="goToInvoices"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask6" /> + <click selector="{{InvoicesGridSection.filter}}" stepKey="clickFilters"/> + <fillField selector="{{InvoicesFiltersSection.orderNum}}" variable="orderNumber" stepKey="searchOrderNum2"/> + <click selector="{{InvoicesGridSection.firstRow}}" stepKey="clickInvoice2"/> + <see selector="{{InvoiceDetailsInformationSection.orderStatus}}" userInput="Processing" stepKey="seeOrderStatus2"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/README.md index 8f897de5484a680b95f1028f33766c731b0821c2..dbaf12404d1575c41d19bd3a768a6b344c548b7e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Sales** Module. +The Functional Tests Module for **Magento_Sales** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/composer.json index 5805b9a34c9ce467665f19c751a67fa184ce4963..f9b37ac3d18c36901f5efccbc8e2bfcd7445dbde 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales/composer.json @@ -1,71 +1,54 @@ { "name": "magento/magento2-functional-test-module-sales", - "description": "Magento 2 Acceptance Test Module Sales", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-authorization": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-sales-rule": "dev-master", - "magento/magento2-functional-test-module-sales-sequence": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-widget": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-gift-message": "dev-master", - "magento/magento2-functional-test-module-reports": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-wishlist": "dev-master", - "magento/magento2-functional-test-module-shipping": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master" - }, + "description": "Magento 2 Functional Test Module Sales", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-authorization": "100.0.0-dev", + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-gift-message": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-reports": "100.0.0-dev", + "magento/magento2-functional-test-module-sales-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-sales-sequence": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-widget": "100.0.0-dev", + "magento/magento2-functional-test-module-wishlist": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Sales\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Sales" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sales" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesAnalytics/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesAnalytics/composer.json index afba02c119a5502d07c10467530f4dc50f0372bd..0b37233aa5927d02b9eba9bd421b4b77a93b49b7 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesAnalytics/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesAnalytics/composer.json @@ -1,42 +1,25 @@ { "name": "magento/magento2-functional-test-module-sales-analytics", "description": "Magento 2 Acceptance Test Module Sales Analytics", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-sales": "dev-master" - }, "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-sales": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\SalesAnalytics\\": "" } }, "extra": { diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesInventory/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesInventory/README.md index a0d48d3c62889bf505f52159f0707559580d461e..beeef87b6e7fda42ed642304c4e618ba8ff4956e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesInventory/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesInventory/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_SalesInventory** Module. +The Functional Tests Module for **Magento_SalesInventory** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesInventory/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesInventory/composer.json index aec10499a8681c0aecebdefa67e8c8069aa967e3..75f35cd1d29fd749262f43b05bfd6ab7eb259864 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesInventory/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesInventory/composer.json @@ -1,52 +1,35 @@ { "name": "magento/magento2-functional-test-module-sales-inventory", - "description": "Magento 2 Acceptance Test Module Sales Inventory", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master" - }, + "description": "Magento 2 Functional Test Module Sales Inventory", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\SalesInventory\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/SalesInventory" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesInventory" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/Data/SalesRuleData.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/Data/SalesRuleData.xml deleted file mode 100644 index 3f13fbf02a8fd848f6e2b526794bd180e4046dd4..0000000000000000000000000000000000000000 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/Data/SalesRuleData.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - /** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> - -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/DataGenerator/etc/dataProfileSchema.xsd"> - <entity name="SimpleSalesRule" type="SalesRule"> - <data key="name" unique="suffix">SalesRule</data> - <data key="is_active">true</data> - <required-entity type="SalesRuleStoreLabel">SalesRuleStoreLabel1</required-entity> - <required-entity type="SalesRuleStoreLabel">SalesRuleStoreLabel2</required-entity> - </entity> - <entity name="SalesRuleStoreLabel1" type="SalesRuleStoreLabel"> - <data key="store_id">0</data> - <data key="store_label">TestRule_Label</data> - </entity> - <entity name="SalesRuleStoreLabel2" type="SalesRuleStoreLabel"> - <data key="store_id">1</data> - <data key="store_label">TestRule_Label_default</data> - </entity> -</config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/README.md index 09f32aad6881ffb57ff5d9b2abed4e2fae689950..2180f41bb7e31265f0d7731e1c541d3a08d32133 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_SalesRule** Module. +The Functional Tests Module for **Magento_SalesRule** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/composer.json index dca57e5c34452b164b631f39637b0d12a87ee398..0bb3ad9cf6330768d9e33d3b09bf9d6f1398a586 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/composer.json @@ -1,66 +1,47 @@ { "name": "magento/magento2-functional-test-module-sales-rule", - "description": "Magento 2 Acceptance Test Module Sales Rule", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-shipping": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-rule": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-reports": "dev-master", - "magento/magento2-functional-test-module-catalog-rule": "dev-master", - "magento/magento2-functional-test-module-widget": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Sales Rule", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-reports": "100.0.0-dev", + "magento/magento2-functional-test-module-rule": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-widget": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\SalesRule\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/SalesRule" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesSequence/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesSequence/README.md index 8dc5c1445cc95107b16704f05e79e7f209cf61cf..8b3e36c3fda047a7fa55c52e0a78f8cf1327668c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesSequence/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesSequence/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_SalesSequence** Module. +The Functional Tests Module for **Magento_SalesSequence** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesSequence/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesSequence/composer.json index c395bbb71c5f2e75a1c240b6c82c75610f6fb7b8..218a5e4ce1ff96702b8e79d4bd3d228add9216c8 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesSequence/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesSequence/composer.json @@ -1,46 +1,29 @@ { "name": "magento/magento2-functional-test-module-sales-sequence", - "description": "Magento 2 Acceptance Test Module Sales Sequence", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, + "description": "Magento 2 Functional Test Module Sales Sequence", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\SalesSequence\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/SalesSequence" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesSequence" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleData/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleData/README.md index edcd1629bd50f900fd8e2697be7efec9486abff8..1dcde417aed6f0039d80ad65434a4ccb8c60da57 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleData/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleData/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_SampleData** Module. +The Functional Tests Module for **Magento_SampleData** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleData/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleData/composer.json index ef30780208b19602dce821ab2a11c440fd389920..6e6229ae322ba109c6d14314fa8ba7c3f47d1f59 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleData/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleData/composer.json @@ -1,46 +1,29 @@ { "name": "magento/magento2-functional-test-module-sample-data", - "description": "Magento 2 Acceptance Test Module Sample Data", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, + "description": "Magento 2 Functional Test Module Sample Data", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\SampleData\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/SampleData" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleData" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/Cest/TemplateCestFile.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/Cest/TemplateCestFile.xml index bc29e788f9025d7deb4dab56e2b7096e09b10788..18b8a30d44193885fb0c15ac5364b4c590ed2222 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/Cest/TemplateCestFile.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/Cest/TemplateCestFile.xml @@ -26,7 +26,6 @@ <severity value=""/> <testCaseId value=""/> <group value=""/> - <env value=""/> </annotations> <!-- ADD TEST STEPS HERE --> </test> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/LICENSE.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..49525fd99da9c51e6d85420266d41cb3d6b7a648 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/LICENSE_AFL.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/LICENSE_AFL.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39d641b18a19e56df6c8a3e4038c940fb886b32 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/README.md new file mode 100644 index 0000000000000000000000000000000000000000..986c2af6164e9b2164f381e976f800750006ec55 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/README.md @@ -0,0 +1,3 @@ +# Magento 2 Functional Tests + +The Functional Tests Module for **Magento_SampleTemplates** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..da0d8598f8d7d9fd397d359f71be567c9b95499a --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates/composer.json @@ -0,0 +1,30 @@ +{ + "name": "magento/magento2-functional-test-module-sample-templates", + "description": "Magento 2 Functional Test Module Sample Templates", + "type": "magento2-test-module", + "version": "100.0.0-dev", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "autoload": { + "psr-4": { + "Magento\\FunctionalTest\\SampleTemplates\\": "" + } + }, + "extra": { + "map": [ + [ + "*", + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTemplates" + ] + ] + } +} diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/ActionGroup/SampleActionGroup.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/ActionGroup/SampleActionGroup.xml index 629688f7437b8d6e0cc9953b491bb5b5075f12d5..b047b19d4a044c8e966712cc958eb4e9fb5c3c24 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/ActionGroup/SampleActionGroup.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/ActionGroup/SampleActionGroup.xml @@ -12,13 +12,13 @@ <arguments> <argument name="person" defaultValue="SamplePerson"/> </arguments> - <fillField selector="#foo" userInput="{{person.foo}}" mergeKey="fillField1"/> - <fillField selector="#bar" userInput="{{person.bar}}" mergeKey="fillField2"/> + <fillField selector="#foo" userInput="{{person.foo}}" stepKey="fillField1"/> + <fillField selector="#bar" userInput="{{person.bar}}" stepKey="fillField2"/> </actionGroup> <actionGroup name="ValidateSlideOutPanelField"> <arguments> <argument name="property" defaultValue=""/> </arguments> - <see userInput="{{property.name}}" selector="{{ColumnSection.panelFieldLabel(property.section, property.fieldName, property.section, property.name)}}" mergeKey="seePropertyLabel"/> + <see userInput="{{property.name}}" selector="{{ColumnSection.panelFieldLabel(property.section, property.fieldName, property.section, property.name)}}" stepKey="seePropertyLabel"/> </actionGroup> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/AdvancedSampleCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/AdvancedSampleCest.xml index 761635f281886c4ace8a7d6b2a2514d03dd59f48..eddae0242f5d45ace0709f5de978ff1f3cfe2bcf 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/AdvancedSampleCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/AdvancedSampleCest.xml @@ -16,7 +16,7 @@ <group value="skip"/> </annotations> <before> - <createData entity="SamplePerson" mergeKey="beforeData"/> + <createData entity="SamplePerson" stepKey="beforeData"/> </before> <after> @@ -30,26 +30,26 @@ </annotations> <!-- Create an entity that depends on another entity --> - <createData entity="_defaultCategory" mergeKey="createCategory"/> - <createData entity="_defaultProduct" mergeKey="createProduct"> + <createData entity="_defaultCategory" stepKey="createCategory"/> + <createData entity="_defaultProduct" stepKey="createProduct"> <required-entity createDataKey="createCategory"/> </createData> <!-- Parameterized url --> - <amOnPage url="{{SamplePage.url('foo', SamplePerson.bar)}}" mergeKey="amOnPage"/> + <amOnPage url="{{SamplePage.url('foo', SamplePerson.bar)}}" stepKey="amOnPage"/> <!-- Parameterized selector --> - <grabTextFrom selector="{{SampleSection.twoParamElement(SamplePerson.foo, 'bar')}}" returnVariable="myReturnVar" mergeKey="grabTextFrom"/> + <grabTextFrom selector="{{SampleSection.twoParamElement(SamplePerson.foo, 'bar')}}" returnVariable="myReturnVar" stepKey="grabTextFrom"/> <!-- Element with a timeout --> - <click selector="{{SampleSection.timeoutElement}}" mergeKey="click"/> + <click selector="{{SampleSection.timeoutElement}}" stepKey="click"/> <!-- ActionGroup --> - <actionGroup ref="SampleActionGroup" mergeKey="actionGroup"> + <actionGroup ref="SampleActionGroup" stepKey="actionGroup"> <argument name="person" value="OverrideDefaultPerson"/> </actionGroup> - <actionGroup ref="ValidateSlideOutPanelField" mergeKey="seeAppearanceMinHeightProperty"> + <actionGroup ref="ValidateSlideOutPanelField" stepKey="seeAppearanceMinHeightProperty"> <argument name="property" value="AppearanceMinHeightProperty"/> </actionGroup> </test> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/AssertsCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/AssertsCest.xml index e6b3f9b563112fd110ce986d9b7f7469396c40bf..17366a6518c901cb04e7f72da1887d8b68c557b9 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/AssertsCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/AssertsCest.xml @@ -14,83 +14,83 @@ <group value="skip"/> </annotations> <before> - <createData entity="Simple_US_Customer" mergeKey="createData1"/> + <createData entity="Simple_US_Customer" stepKey="createData1"/> </before> <after> - <deleteData createDataKey="createData1" mergeKey="deleteData1"/> + <deleteData createDataKey="createData1" stepKey="deleteData1"/> </after> <test name="AssertTest"> - <createData entity="Simple_US_Customer" mergeKey="createData2"/> - <amOnUrl url="https://www.yahoo.com" mergeKey="amOnPage"/> - <waitForElementVisible mergeKey="wait1" selector="#uh-logo" time="10"/> - <grabTextFrom returnVariable="text" selector="#uh-logo" mergeKey="grabTextFrom1"/> + <createData entity="Simple_US_Customer" stepKey="createData2"/> + <amOnUrl url="https://www.yahoo.com" stepKey="amOnPage"/> + <waitForElementVisible stepKey="wait1" selector="#uh-logo" time="10"/> + <grabTextFrom returnVariable="text" selector="#uh-logo" stepKey="grabTextFrom1"/> <!-- asserts without variable replacement --> - <comment mergeKey="c1" userInput="asserts without variable replacement"/> - <assertArrayHasKey mergeKey="assertArrayHasKey" expected="apple" expectedType="string" actual="['orange' => 2, 'apple' => 1]" actualType="const" message="pass"/> - <assertArrayNotHasKey mergeKey="assertArrayNotHasKey" expected="kiwi" expectedType="string" actual="['orange' => 2, 'apple' => 1]" message="pass"/> - <assertArraySubset mergeKey="assertArraySubset" expected="[1, 2]" actual="[1, 2, 3, 5]" message="pass"/> - <assertContains mergeKey="assertContains" expected="ab" expectedType="string" actual="['item1' => 'a', 'item2' => 'ab']" message="pass"/> - <assertCount mergeKey="assertCount" expected="2" expectedType="int" actual="['a', 'b']" message="pass"/> - <assertEmpty mergeKey="assertEmpty" actual="[]" message="pass"/> - <assertEquals mergeKey="assertEquals1" expected="text" expectedType="variable" actual="Yahoo" actualType="string" message="pass"/> - <assertEquals mergeKey="assertEquals2" expected="Yahoo" expectedType="string" actual="text" actualType="variable" message="pass"/> - <assertFalse mergeKey="assertFalse1" actual="0" actualType="bool" message="pass"/> - <assertFileNotExists mergeKey="assertFileNotExists1" actual="/out.txt" actualType="string" message="pass"/> - <assertFileNotExists mergeKey="assertFileNotExists2" actual="text" actualType="variable" message="pass"/> - <assertGreaterOrEquals mergeKey="assertGreaterOrEquals" expected="2" expectedType="int" actual="5" actualType="int" message="pass"/> - <assertGreaterThan mergeKey="assertGreaterThan" expected="2" expectedType="int" actual="5" actualType="int" message="pass"/> - <assertGreaterThanOrEqual mergeKey="assertGreaterThanOrEqual" expected="2" expectedType="int" actual="5" actualType="int" message="pass"/> - <assertInternalType mergeKey="assertInternalType1" expected="string" expectedType="string" actual="xyz" actualType="string" message="pass"/> - <assertInternalType mergeKey="assertInternalType2" expected="int" expectedType="string" actual="21" actualType="int" message="pass"/> - <assertInternalType mergeKey="assertInternalType3" expected="string" expectedType="string" actual="text" actualType="variable" message="pass"/> - <assertLessOrEquals mergeKey="assertLessOrEquals" expected="5" expectedType="int" actual="2" actualType="int" message="pass"/> - <assertLessThan mergeKey="assertLessThan" expected="5" expectedType="int" actual="2" actualType="int" message="pass"/> - <assertLessThanOrEqual mergeKey="assertLessThanOrEqual" expected="5" expectedType="int" actual="2" actualType="int" message="pass"/> - <assertNotContains mergeKey="assertNotContains1" expected="bc" expectedType="string" actual="['item1' => 'a', 'item2' => 'ab']" message="pass"/> - <assertNotContains mergeKey="assertNotContains2" expected="bc" expectedType="string" actual="text" actualType="variable" message="pass"/> - <assertNotEmpty mergeKey="assertNotEmpty1" actual="[1, 2]" message="pass"/> - <assertNotEmpty mergeKey="assertNotEmpty2" actual="text" actualType="variable" message="pass"/> - <assertNotEquals mergeKey="assertNotEquals" expected="2" expectedType="int" actual="5" actualType="int" message="pass" delta=""/> - <assertNotNull mergeKey="assertNotNull1" actual="abc" actualType="string" message="pass"/> - <assertNotNull mergeKey="assertNotNull2" actual="text" actualType="variable" message="pass"/> - <assertNotRegExp mergeKey="assertNotRegExp" expected="/foo/" expectedType="string" actual="bar" actualType="string" message="pass"/> - <assertNotSame mergeKey="assertNotSame" expected="log" expectedType="string" actual="tag" actualType="string" message="pass"/> - <assertRegExp mergeKey="assertRegExp" expected="/foo/" expectedType="string" actual="foo" actualType="string" message="pass"/> - <assertSame mergeKey="assertSame" expected="bar" expectedType="string" actual="bar" actualType="string" message="pass"/> - <assertStringStartsNotWith mergeKey="assertStringStartsNotWith" expected="a" expectedType="string" actual="banana" actualType="string" message="pass"/> - <assertStringStartsWith mergeKey="assertStringStartsWith" expected="a" expectedType="string" actual="apple" actualType="string" message="pass"/> - <assertTrue mergeKey="assertTrue" actual="1" actualType="bool" message="pass"/> + <comment stepKey="c1" userInput="asserts without variable replacement"/> + <assertArrayHasKey stepKey="assertArrayHasKey" expected="apple" expectedType="string" actual="['orange' => 2, 'apple' => 1]" actualType="const" message="pass"/> + <assertArrayNotHasKey stepKey="assertArrayNotHasKey" expected="kiwi" expectedType="string" actual="['orange' => 2, 'apple' => 1]" message="pass"/> + <assertArraySubset stepKey="assertArraySubset" expected="[1, 2]" actual="[1, 2, 3, 5]" message="pass"/> + <assertContains stepKey="assertContains" expected="ab" expectedType="string" actual="['item1' => 'a', 'item2' => 'ab']" message="pass"/> + <assertCount stepKey="assertCount" expected="2" expectedType="int" actual="['a', 'b']" message="pass"/> + <assertEmpty stepKey="assertEmpty" actual="[]" message="pass"/> + <assertEquals stepKey="assertEquals1" expected="text" expectedType="variable" actual="Yahoo" actualType="string" message="pass"/> + <assertEquals stepKey="assertEquals2" expected="Yahoo" expectedType="string" actual="text" actualType="variable" message="pass"/> + <assertFalse stepKey="assertFalse1" actual="0" actualType="bool" message="pass"/> + <assertFileNotExists stepKey="assertFileNotExists1" actual="/out.txt" actualType="string" message="pass"/> + <assertFileNotExists stepKey="assertFileNotExists2" actual="text" actualType="variable" message="pass"/> + <assertGreaterOrEquals stepKey="assertGreaterOrEquals" expected="2" expectedType="int" actual="5" actualType="int" message="pass"/> + <assertGreaterThan stepKey="assertGreaterThan" expected="2" expectedType="int" actual="5" actualType="int" message="pass"/> + <assertGreaterThanOrEqual stepKey="assertGreaterThanOrEqual" expected="2" expectedType="int" actual="5" actualType="int" message="pass"/> + <assertInternalType stepKey="assertInternalType1" expected="string" expectedType="string" actual="xyz" actualType="string" message="pass"/> + <assertInternalType stepKey="assertInternalType2" expected="int" expectedType="string" actual="21" actualType="int" message="pass"/> + <assertInternalType stepKey="assertInternalType3" expected="string" expectedType="string" actual="text" actualType="variable" message="pass"/> + <assertLessOrEquals stepKey="assertLessOrEquals" expected="5" expectedType="int" actual="2" actualType="int" message="pass"/> + <assertLessThan stepKey="assertLessThan" expected="5" expectedType="int" actual="2" actualType="int" message="pass"/> + <assertLessThanOrEqual stepKey="assertLessThanOrEqual" expected="5" expectedType="int" actual="2" actualType="int" message="pass"/> + <assertNotContains stepKey="assertNotContains1" expected="bc" expectedType="string" actual="['item1' => 'a', 'item2' => 'ab']" message="pass"/> + <assertNotContains stepKey="assertNotContains2" expected="bc" expectedType="string" actual="text" actualType="variable" message="pass"/> + <assertNotEmpty stepKey="assertNotEmpty1" actual="[1, 2]" message="pass"/> + <assertNotEmpty stepKey="assertNotEmpty2" actual="text" actualType="variable" message="pass"/> + <assertNotEquals stepKey="assertNotEquals" expected="2" expectedType="int" actual="5" actualType="int" message="pass" delta=""/> + <assertNotNull stepKey="assertNotNull1" actual="abc" actualType="string" message="pass"/> + <assertNotNull stepKey="assertNotNull2" actual="text" actualType="variable" message="pass"/> + <assertNotRegExp stepKey="assertNotRegExp" expected="/foo/" expectedType="string" actual="bar" actualType="string" message="pass"/> + <assertNotSame stepKey="assertNotSame" expected="log" expectedType="string" actual="tag" actualType="string" message="pass"/> + <assertRegExp stepKey="assertRegExp" expected="/foo/" expectedType="string" actual="foo" actualType="string" message="pass"/> + <assertSame stepKey="assertSame" expected="bar" expectedType="string" actual="bar" actualType="string" message="pass"/> + <assertStringStartsNotWith stepKey="assertStringStartsNotWith" expected="a" expectedType="string" actual="banana" actualType="string" message="pass"/> + <assertStringStartsWith stepKey="assertStringStartsWith" expected="a" expectedType="string" actual="apple" actualType="string" message="pass"/> + <assertTrue stepKey="assertTrue" actual="1" actualType="bool" message="pass"/> <!-- string type that use created data --> - <comment mergeKey="c2" userInput="string type that use created data"/> - <assertStringStartsWith mergeKey="assert1" expected="D" expectedType="string" actual="$$createData1.lastname$$, $$createData1.firstname$$" actualType="string" message="fail"/> - <assertStringStartsNotWith mergeKey="assert2" expected="W" expectedType="string" actual="$createData2.firstname$ $createData2.lastname$" actualType="string" message="pass"/> - <assertEquals mergeKey="assert5" expected="$$createData1.lastname$$" expectedType="string" actual="$$createData1.lastname$$" actualType="string" message="pass"/> + <comment stepKey="c2" userInput="string type that use created data"/> + <assertStringStartsWith stepKey="assert1" expected="D" expectedType="string" actual="$$createData1.lastname$$, $$createData1.firstname$$" actualType="string" message="fail"/> + <assertStringStartsNotWith stepKey="assert2" expected="W" expectedType="string" actual="$createData2.firstname$ $createData2.lastname$" actualType="string" message="pass"/> + <assertEquals stepKey="assert5" expected="$$createData1.lastname$$" expectedType="string" actual="$$createData1.lastname$$" actualType="string" message="pass"/> <!-- array type that use created data --> - <comment mergeKey="c3" userInput="array type that use created data"/> - <assertArraySubset mergeKey="assert9" expected="[$$createData1.lastname$$, $$createData1.firstname$$]" expectedType="array" actual="[$$createData1.lastname$$, $$createData1.firstname$$, 1]" actualType="array" message="pass"/> - <assertArraySubset mergeKey="assert10" expected="[$createData2.firstname$, $createData2.lastname$]" expectedType="array" actual="[$createData2.firstname$, $createData2.lastname$, 1]" actualType="array" message="pass"/> - <assertArrayHasKey mergeKey="assert3" expected="lastname" expectedType="string" actual="['lastname' => $$createData1.lastname$$, 'firstname' => $$createData1.firstname$$]" actualType="array" message="pass"/> - <assertArrayHasKey mergeKey="assert4" expected="lastname" expectedType="string" actual="['lastname' => $createData2.lastname$, 'firstname' => $createData2.firstname$]" actualType="array" message="pass"/> + <comment stepKey="c3" userInput="array type that use created data"/> + <assertArraySubset stepKey="assert9" expected="[$$createData1.lastname$$, $$createData1.firstname$$]" expectedType="array" actual="[$$createData1.lastname$$, $$createData1.firstname$$, 1]" actualType="array" message="pass"/> + <assertArraySubset stepKey="assert10" expected="[$createData2.firstname$, $createData2.lastname$]" expectedType="array" actual="[$createData2.firstname$, $createData2.lastname$, 1]" actualType="array" message="pass"/> + <assertArrayHasKey stepKey="assert3" expected="lastname" expectedType="string" actual="['lastname' => $$createData1.lastname$$, 'firstname' => $$createData1.firstname$$]" actualType="array" message="pass"/> + <assertArrayHasKey stepKey="assert4" expected="lastname" expectedType="string" actual="['lastname' => $createData2.lastname$, 'firstname' => $createData2.firstname$]" actualType="array" message="pass"/> <!-- comment this section before running this test --> - <comment mergeKey="c4" userInput="comment this section before running this test"/> - <assertInstanceOf mergeKey="assertInstanceOf" expected="User::class" actual="text" actualType="variable" message="pass"/> - <assertNotInstanceOf mergeKey="assertNotInstanceOf" expected="User::class" actual="21" actualType="int" message="pass"/> - <assertFileExists mergeKey="assertFileExists2" actual="text" actualType="variable" message="pass"/> - <assertFileExists mergeKey="assert6" actual="AssertCest.php" actualType="string" message="pass"/> - <assertIsEmpty mergeKey="assertIsEmpty" actual="text" actualType="variable" message="pass"/> - <assertNull mergeKey="assertNull" actual="text" actualType="variable" message="pass"/> - <expectException mergeKey="expectException" expected="new MyException('exception msg')" actual="function() {$this->doSomethingBad();}"/> - <fail mergeKey="fail" message="fail"/> - <fail mergeKey="assert7" message="$createData2.firstname$ $createData2.lastname$"/> - <fail mergeKey="assert8" message="$$createData1.firstname$$ $$createData1.lastname$$"/> + <comment stepKey="c4" userInput="comment this section before running this test"/> + <assertInstanceOf stepKey="assertInstanceOf" expected="User::class" actual="text" actualType="variable" message="pass"/> + <assertNotInstanceOf stepKey="assertNotInstanceOf" expected="User::class" actual="21" actualType="int" message="pass"/> + <assertFileExists stepKey="assertFileExists2" actual="text" actualType="variable" message="pass"/> + <assertFileExists stepKey="assert6" actual="AssertCest.php" actualType="string" message="pass"/> + <assertIsEmpty stepKey="assertIsEmpty" actual="text" actualType="variable" message="pass"/> + <assertNull stepKey="assertNull" actual="text" actualType="variable" message="pass"/> + <expectException stepKey="expectException" expected="new MyException('exception msg')" actual="function() {$this->doSomethingBad();}"/> + <fail stepKey="fail" message="fail"/> + <fail stepKey="assert7" message="$createData2.firstname$ $createData2.lastname$"/> + <fail stepKey="assert8" message="$$createData1.firstname$$ $$createData1.lastname$$"/> <!-- comment end --> - <comment mergeKey="c5" userInput="comment end"/> + <comment stepKey="c5" userInput="comment end"/> - <deleteData createDataKey="createData2" mergeKey="deleteData2"/> + <deleteData createDataKey="createData2" stepKey="deleteData2"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/CreateConfigurableProductByApiCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/CreateConfigurableProductByApiCest.xml index 690b008fe2952c2d3d121e2f286fbd9efca6d2b1..7daef0fc1ed417d5aa60caeb203472b6058ae017 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/CreateConfigurableProductByApiCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/CreateConfigurableProductByApiCest.xml @@ -12,63 +12,64 @@ <annotations> <features value="Create a Configurable Product By API"/> <stories value="Create a Configurable Product By API"/> + <group value="skip"/> </annotations> <before> - <createData mergeKey="categoryHandle" entity="SimpleSubCategory" /> - <createData mergeKey="baseConfigProductHandle" entity="BaseConfigurableProduct" > + <createData stepKey="categoryHandle" entity="SimpleSubCategory" /> + <createData stepKey="baseConfigProductHandle" entity="BaseConfigurableProduct" > <required-entity createDataKey="categoryHandle"/> </createData> - <createData mergeKey="productAttributeHandle" entity="productAttributeWithTwoOptions"/> + <createData stepKey="productAttributeHandle" entity="productAttributeWithTwoOptions"/> - <createData mergeKey="productAttributeOption1Handle" entity="productAttributeOption1"> + <createData stepKey="productAttributeOption1Handle" entity="productAttributeOption1"> <required-entity createDataKey="productAttributeHandle"/> </createData> - <createData mergeKey="productAttributeOption2Handle" entity="productAttributeOption2"> + <createData stepKey="productAttributeOption2Handle" entity="productAttributeOption2"> <required-entity createDataKey="productAttributeHandle"/> </createData> - <createData mergeKey="addToAttributeSetHandle" entity="AddToDefaultSet"> + <createData stepKey="addToAttributeSetHandle" entity="AddToDefaultSet"> <required-entity createDataKey="productAttributeHandle"/> </createData> - <getData mergeKey="getAttributeOption1Handle" entity="ProductAttributeOptionGetter" index="1"> + <getData stepKey="getAttributeOption1Handle" entity="ProductAttributeOptionGetter" index="1"> <required-entity createDataKey="productAttributeHandle"/> </getData> - <getData mergeKey="getAttributeOption2Handle" entity="ProductAttributeOptionGetter" index="2"> + <getData stepKey="getAttributeOption2Handle" entity="ProductAttributeOptionGetter" index="2"> <required-entity createDataKey="productAttributeHandle"/> </getData> - <createData mergeKey="childProductHandle1" entity="SimpleOne"> + <createData stepKey="childProductHandle1" entity="SimpleOne"> <required-entity createDataKey="productAttributeHandle"/> <required-entity createDataKey="getAttributeOption1Handle"/> </createData> - <createData mergeKey="childProductHandle2" entity="SimpleOne"> + <createData stepKey="childProductHandle2" entity="SimpleOne"> <required-entity createDataKey="productAttributeHandle"/> <required-entity createDataKey="getAttributeOption2Handle"/> </createData> - <createData mergeKey="configProductOptionHandle" entity="ConfigurableProductTwoOptions"> + <createData stepKey="configProductOptionHandle" entity="ConfigurableProductTwoOptions"> <required-entity createDataKey="baseConfigProductHandle"/> <required-entity createDataKey="productAttributeHandle"/> <required-entity createDataKey="getAttributeOption1Handle"/> <required-entity createDataKey="getAttributeOption2Handle"/> </createData> - <createData mergeKey="configProductHandle1" entity="ConfigurableProductAddChild"> + <createData stepKey="configProductHandle1" entity="ConfigurableProductAddChild"> <required-entity createDataKey="childProductHandle1"/> <required-entity createDataKey="baseConfigProductHandle"/> </createData> - <createData mergeKey="configProductHandle2" entity="ConfigurableProductAddChild"> + <createData stepKey="configProductHandle2" entity="ConfigurableProductAddChild"> <required-entity createDataKey="childProductHandle2"/> <required-entity createDataKey="baseConfigProductHandle"/> </createData> </before> <after> - <deleteData mergeKey="d2" createDataKey="childProductHandle1"/> - <deleteData mergeKey="d3" createDataKey="childProductHandle2"/> - <deleteData mergeKey="d7" createDataKey="baseConfigProductHandle"/> - <deleteData mergeKey="d8" createDataKey="categoryHandle"/> - <deleteData mergeKey="d6" createDataKey="productAttributeHandle"/> + <deleteData stepKey="d2" createDataKey="childProductHandle1"/> + <deleteData stepKey="d3" createDataKey="childProductHandle2"/> + <deleteData stepKey="d7" createDataKey="baseConfigProductHandle"/> + <deleteData stepKey="d8" createDataKey="categoryHandle"/> + <deleteData stepKey="d6" createDataKey="productAttributeHandle"/> </after> <test name="CreateConfigurableProductByApiTest"> </test> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/CreateSalesRuleByApiCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/CreateSalesRuleByApiCest.xml index bdbca5862a2b5d231b18eeeea72f618298674682..68d7f75a964d2567e32f3deb0865a6d17a35ac9d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/CreateSalesRuleByApiCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/CreateSalesRuleByApiCest.xml @@ -12,12 +12,13 @@ <annotations> <features value="Create a Sales Rule By API"/> <stories value="Create a Sales Rule By API"/> + <group value="skip"/> </annotations> <before> - <createData mergeKey="saleRule" entity="SimpleSalesRule" /> + <createData stepKey="saleRule" entity="SimpleSalesRule" /> </before> <test name="CreateSalesRuleByApiTest"> - <!--see mergeKey="test" userInput="$$saleRule.store_labels[0][store_id]$$" selector="test"/--> + <!--see stepKey="test" userInput="$$saleRule.store_labels[0][store_id]$$" selector="test"/--> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/MinimumTestCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/MinimumTestCest.xml index b1cfc787acbb76e2a63dc47b11a4442a0e627d86..e9c971f7e10fba3ba4f4a2740ab2e718b3b9f38c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/MinimumTestCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/MinimumTestCest.xml @@ -14,22 +14,18 @@ <stories value="Minimum Test"/> </annotations> <after> - <seeInCurrentUrl url="/admin/admin/" mergeKey="seeInCurrentUrl"/> + <seeInCurrentUrl url="/admin/admin/" stepKey="seeInCurrentUrl"/> </after> <test name="MinimumFieldsTest"> <annotations> <title value="Minimum Test"/> <description value="Minimum Test"/> <group value="example"/> - <env value="chrome"/> - <env value="firefox"/> - <env value="phantomjs"/> - <env value="headless"/> </annotations> - <amOnPage url="{{AdminLoginPage.url}}" mergeKey="navigateToAdmin"/> - <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" mergeKey="fillUsername"/> - <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" mergeKey="fillPassword"/> - <click selector="{{AdminLoginFormSection.signIn}}" mergeKey="clickLogin"/> + <amOnPage url="{{AdminLoginPage.url}}" stepKey="navigateToAdmin"/> + <fillField selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}" stepKey="fillUsername"/> + <fillField selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="fillPassword"/> + <click selector="{{AdminLoginFormSection.signIn}}" stepKey="clickLogin"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/PersistMultipleEntitiesCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/PersistMultipleEntitiesCest.xml index 12b2a8774c49b11adecdb300d7867d39887a4016..2985d7a51051b3e44ca27a7726e1be4a1bb4cd8e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/PersistMultipleEntitiesCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/PersistMultipleEntitiesCest.xml @@ -10,26 +10,26 @@ xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd"> <cest name="PersistMultipleEntitiesCest"> <before> - <createData entity="simplesubcategory" mergeKey="simplecategory"/> - <createData entity="simpleproduct" mergeKey="simpleproduct1"> + <createData entity="simplesubcategory" stepKey="simplecategory"/> + <createData entity="simpleproduct" stepKey="simpleproduct1"> <required-entity createDataKey="simplecategory"/> </createData> - <createData entity="simpleproduct" mergeKey="simpleproduct2"> + <createData entity="simpleproduct" stepKey="simpleproduct2"> <required-entity createDataKey="categoryLink"/> </createData> </before> <after> - <deleteData createDataKey="simpleproduct1" mergeKey="deleteProduct1"/> - <deleteData createDataKey="simpleproduct2" mergeKey="deleteProduct2"/> - <deleteData createDataKey="simplecategory" mergeKey="deleteCategory"/> + <deleteData createDataKey="simpleproduct1" stepKey="deleteProduct1"/> + <deleteData createDataKey="simpleproduct2" stepKey="deleteProduct2"/> + <deleteData createDataKey="simplecategory" stepKey="deleteCategory"/> </after> <test name="PersistMultipleEntitiesTest"> <annotations> <group value="skip"/> </annotations> - <amOnPage mergeKey="s11" url="/$$simplecategory.name$$.html" /> - <waitForPageLoad mergeKey="s33"/> - <see mergeKey="s35" selector="{{StorefrontCategoryMainSection.productCount}}" userInput="2"/> + <amOnPage stepKey="s11" url="/$$simplecategory.name$$.html" /> + <waitForPageLoad stepKey="s33"/> + <see stepKey="s35" selector="{{StorefrontCategoryMainSection.productCount}}" userInput="2"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/SampleCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/SampleCest.xml index b07e73bbbaa2bea872e8c28ccd7ebe23807feea2..022e9a5d064ae41c10bb363b3d9ddda1a20b7ca9 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/SampleCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/SampleCest.xml @@ -16,14 +16,14 @@ <group value="skip"/> </annotations> <before> - <amOnUrl url="http://127.0.0.1:32772/admin/" mergeKey="amOnPage"/> - <createData entity="CustomerEntity1" mergeKey="createData1"/> - <createData entity="AssertThis" mergeKey="createData2"/> + <amOnUrl url="http://127.0.0.1:32772/admin/" stepKey="amOnPage"/> + <createData entity="CustomerEntity1" stepKey="createData1"/> + <createData entity="AssertThis" stepKey="createData2"/> </before> <after> - <amOnUrl url="http://127.0.0.1:32772/admin/admin/auth/logout" mergeKey="amOnPage"/> - <deleteData createDataKey="createData1" mergeKey="deleteData1"/> - <deleteData createDataKey="createData2" mergeKey="deleteData2"/> + <amOnUrl url="http://127.0.0.1:32772/admin/admin/auth/logout" stepKey="amOnPage"/> + <deleteData createDataKey="createData1" stepKey="deleteData1"/> + <deleteData createDataKey="createData2" stepKey="deleteData2"/> </after> <test name="AllCodeceptionMethodsTest"> <annotations> @@ -32,146 +32,145 @@ <severity value="CRITICAL"/> <testCaseId value="#"/> </annotations> - <acceptPopup mergeKey="acceptPopup"/> - <amOnPage url="/admin" mergeKey="amOnPage"/> - <amOnSubdomain url="admin" mergeKey="amOnSubdomain"/> - <amOnUrl url="http://www.google.com/" mergeKey="amOnUrl"/> - <appendField userInput="More Words" selector=".stuff" mergeKey="appendField"/> - <attachFile userInput="filename.php" selector="#stuff" mergeKey="attachFile"/> - <cancelPopup mergeKey="cancelPopup"/> - <checkOption selector="#checkbox" mergeKey="checkOption"/> - <clearField selector="#field" mergeKey="clearField"/> - <click selector="#button" userInput="Context" mergeKey="click1"/> - <click selectorArray="['link' => 'Login']" mergeKey="click2"/> - <click selectorArray="['link' => 'Login']" userInput="stuff" mergeKey="click3"/> - <click userInput="Click" mergeKey="click4"/> - <clickWithLeftButton selector="#clickHere" mergeKey="clickWithLeftButton1" x="23" y="324"/> - <clickWithLeftButton selectorArray="['css' => '.checkout']" mergeKey="clickWithLeftButton2" x="23" y="324"/> - <clickWithLeftButton mergeKey="clickWithLeftButton3" x="23" y="324"/> - <clickWithRightButton selector="#clickHere" mergeKey="clickWithRightButton1" x="23" y="324"/> - <clickWithRightButton selectorArray="['css' => '.checkout']" mergeKey="clickWithRightButton2" x="23" y="324"/> - <clickWithRightButton mergeKey="clickWithRightButton3" x="23" y="324"/> - <closeTab mergeKey="closeTab"/> - <comment userInput="This is a Comment." mergeKey="comment"/> - <createData entity="CustomerEntity1" mergeKey="createData1"/> - <deleteData createDataKey="createData1" mergeKey="deleteData1"/> - <dontSee userInput="Text" mergeKey="dontSee1"/> - <dontSee userInput="Text" selector=".title" mergeKey="dontSee2"/> - <dontSee userInput="Text" selectorArray="['css' => 'body h1']" mergeKey="dontSee3"/> - <dontSeeCheckboxIsChecked selector="#checkbox" mergeKey="dontSeeCheckboxIsChecked"/> - <dontSeeCookie userInput="cookieName" mergeKey="dontSeeCookie1"/> - <dontSeeCookie userInput="cookieName" parameterArray="['domainName' => 'stuff']" mergeKey="dontSeeCookie2"/> - <dontSeeCurrentUrlEquals url="/stuff" mergeKey="dontSeeCurrentUrlEquals"/> - <dontSeeCurrentUrlMatches url="~$/users/(\d+)~" mergeKey="dontSeeCurrentUrlMatches"/> - <dontSeeElement selector=".error" mergeKey="dontSeeElement1"/> - <dontSeeElement selector="input" parameterArray="['name' => 'login']" mergeKey="dontSeeElement2"/> - <dontSeeElementInDOM selector="#stuff" mergeKey="dontSeeElementInDOM1"/> - <dontSeeElementInDOM selector="#stuff" parameterArray="['name' => 'login']" mergeKey="dontSeeElementInDOM2"/> - <dontSeeInCurrentUrl url="/users/" mergeKey="dontSeeInCurrentUrl"/> - <dontSeeInField selector=".field" userInput="stuff" mergeKey="dontSeeInField1"/> - <dontSeeInField selectorArray="['name' => 'search']" userInput="Comment Here" mergeKey="dontSeeInField2"/> - <dontSeeInFormFields selector="form[name=myform]" parameterArray="['input1' => 'non-existent value', 'input2' => 'other non-existent value']" mergeKey="dontSeeInFormFields"/> - <dontSeeInPageSource userInput="Stuff in Page Source" mergeKey="dontSeeInPageSource"/> - <!--<dontSeeInSource html="<h1></h1>" mergeKey="dontSeeInSource"/>--> - <dontSeeInTitle userInput="Title" mergeKey="dontSeeInTitle"/> - <dontSeeLink userInput="Logout" mergeKey="dontSeeLink1"/> - <dontSeeLink userInput="Checkout" url="/store/cart.php" mergeKey="dontSeeLink2"/> - <dontSeeOptionIsSelected selector="#form .stuff" userInput="Option Name" mergeKey="dontSeeOptionIsSelected"/> - <doubleClick selector="#click .here" mergeKey="doubleClick"/> - <dragAndDrop selector1="#number1" selector2="#number2" mergeKey="dragAndDrop"/> - <executeInSelenium function="function(\Facebook\WebDriver\Remote\RemoteWebDriver $webdriver) {$webdriver->get('http://google.com');}" mergeKey="executeInSelenium"/> - <executeJS function="return $('#myField').val()" mergeKey="executeJS"/> - <fillField selector="#field" userInput="stuff" mergeKey="fillField1"/> - <fillField selectorArray="['name' => 'email']" userInput="stuff" mergeKey="fillField2"/> - <grabAttributeFrom returnVariable="title" selector="#target" userInput="title" mergeKey="grabAttributeFrom"/> - <grabCookie returnVariable="cookie" userInput="cookie" parameterArray="['domain' => 'www.google.com']" mergeKey="grabCookie"/> - <grabFromCurrentUrl returnVariable="uri" url="~$/user/(\d+)/~" mergeKey="grabFromCurrentUrl"/> - <grabMultiple returnVariable="multiple" selector="a" userInput="href" mergeKey="grabMultiple"/> - <grabPageSource returnVariable="pageSource" mergeKey="grabPageSource1"/> - <grabTextFrom returnVariable="text" selector="h1" mergeKey="grabTextFrom1"/> - <grabValueFrom returnVariable="value1" selector=".form" mergeKey="grabValueFrom1"/> - <grabValueFrom returnVariable="value2" selectorArray="['name' => 'username']" mergeKey="grabValueFrom2"/> - <loadSessionSnapshot userInput="stuff" mergeKey="loadSessionSnapshot1"/> - <loadSessionSnapshot returnVariable="snapshot" userInput="stuff" mergeKey="loadSessionSnapshot2"/> - <makeScreenshot userInput="ScreenshotName" mergeKey="makeScreenshot"/> - <maximizeWindow mergeKey="maximizeWindow"/> - <moveBack mergeKey="moveBack"/> - <moveForward mergeKey="moveForward"/> - <moveMouseOver selector="#stuff" mergeKey="moveMouseOver1"/> - <moveMouseOver selectorArray="['css' => '.checkout']" mergeKey="moveMouseOver2"/> - <moveMouseOver x="5" y="5" mergeKey="moveMouseOver3"/> - <moveMouseOver selector="#stuff" x="5" y="5" mergeKey="moveMouseOver4"/> - <moveMouseOver selectorArray="['css' => '.checkout']" x="5" y="5" mergeKey="moveMouseOver5"/> - <openNewTab mergeKey="openNewTab"/> - <pauseExecution mergeKey="pauseExecution"/> - <performOn selector=".rememberMe" function="function (WebDriver $I) { $I->see('Remember me next time'); $I->seeElement('#LoginForm_rememberMe'); $I->dontSee('Login'); }" mergeKey="performOn1"/> - <performOn selector=".rememberMe" function="ActionSequence::build()->see('Warning')->see('Are you sure you want to delete this?')->click('Yes')" mergeKey="performOn2"/> - <pressKey selector="#page" userInput="a" mergeKey="pressKey1"/> - <pressKey selector="#page" parameterArray="[['ctrl','a'],'new']" mergeKey="pressKey2"/> - <pressKey selector="#page" parameterArray="[['shift','111'],'1','x']" mergeKey="pressKey3"/> - <pressKey selector="#page" parameterArray="[['ctrl', 'a'], \Facebook\WebDriver\WebDriverKeys::DELETE]" mergeKey="pressKey4"/> - <!--pressKey selector="descendant-or-self::*[@id='page']" userInput="u" mergeKey="pressKey5"/--> - <reloadPage mergeKey="reloadPage"/> - <resetCookie userInput="cookie" mergeKey="resetCookie1"/> - <resetCookie userInput="cookie" parameterArray="['domainName' => 'www.google.com']" mergeKey="resetCookie2"/> - <resizeWindow width="800" height="600" mergeKey="resizeWindow"/> - <saveSessionSnapshot userInput="stuff" mergeKey="saveSessionSnapshot"/> - <scrollTo selector="#place" x="20" y="50" mergeKey="scrollTo1"/> - <scrollTo selectorArray="['css' => '.checkout']" x="20" y="50" mergeKey="scrollTo2"/> - <see userInput="Stuff" mergeKey="see1"/> - <see userInput="More Stuff" selector=".stuff" mergeKey="see2"/> - <see userInput="More More Stuff" selectorArray="['css' => 'body h1']" mergeKey="see3"/> - <seeCheckboxIsChecked selector="#checkbox" mergeKey="seeCheckboxIsChecked"/> - <seeCookie userInput="PHPSESSID" mergeKey="seeCookie1"/> - <seeCookie userInput="PHPSESSID" parameterArray="['domainName' => 'www.google.com']" mergeKey="seeCookie2"/> - <seeCurrentUrlEquals url="/" mergeKey="seeCurrentUrlEquals"/> - <seeCurrentUrlMatches url="~$/users/(\d+)~" mergeKey="seeCurrentUrlMatches"/> - <seeElement selector=".error" mergeKey="seeElement1"/> - <seeElement selectorArray="['css' => 'form input']" mergeKey="seeElement2"/> - <seeElement selector=".error" parameterArray="['name' => 'login']" mergeKey="seeElement3"/> - <seeElement selectorArray="['css' => 'form input']" parameterArray="['name' => 'login']" mergeKey="seeElement4"/> - <seeElementInDOM selector="//form/input[type=hidden]" mergeKey="seeElementInDOM1"/> - <seeElementInDOM selector="//form/input[type=hidden]" parameterArray="['name' => 'form']" mergeKey="seeElementInDOM2"/> - <seeInCurrentUrl url="home" mergeKey="seeInCurrentUrl1"/> - <seeInCurrentUrl url="/home/" mergeKey="seeInCurrentUrl2"/> - <seeInField userInput="Stuff" selector="#field" mergeKey="seeInField1"/> - <seeInField userInput="Stuff" selectorArray="['name' => 'search']" mergeKey="seeInField2"/> - <seeInFormFields selector="form[name=myform]" parameterArray="['input1' => 'value','input2' => 'other value']" mergeKey="seeInFormFields1"/> - <seeInFormFields selector=".form-class" parameterArray="[['multiselect' => ['value1','value2'],'checkbox[]]' => ['a checked value','another checked value',]]" mergeKey="seeInFormFields2"/> - <!--<seeInPageSource html="<h1></h1>" mergeKey="seeInPageSource"/>--> - <seeInPopup userInput="Yes in Popup" mergeKey="seeInPopup"/> - <!--<seeInSource html="<h1></h1>" mergeKey="seeInSource"/>--> - <seeInTitle userInput="In Title" mergeKey="seeInTitle"/> - <seeLink userInput="Logout" mergeKey="seeLink1"/> - <seeLink userInput="Logout" url="/logout" mergeKey="seeLink2"/> - <seeNumberOfElements selector="tr" userInput="10" mergeKey="seeNumberOfElements1"/> - <seeNumberOfElements selector="tr" userInput="[0, 10]" mergeKey="seeNumberOfElements2"/> - <seeOptionIsSelected selector=".option" userInput="Visa" mergeKey="seeOptionIsSelected"/> - <selectOption selector=".dropDown" userInput="Option Name" mergeKey="selectOption1"/> - <selectOption selector="//form/select[@name=account]" parameterArray="['Windows','Linux']" mergeKey="selectOption2"/> - <selectOption selector="Which OS do you use?" parameterArray="['text' => 'Windows']" mergeKey="selectOption3"/> - <setCookie userInput="PHPSESSID" value="stuff" mergeKey="setCookie1"/> - <setCookie userInput="PHPSESSID" value="stuff" parameterArray="['domainName' => 'www.google.com']" mergeKey="setCookie2"/> - <submitForm selector="#my-form" parameterArray="['field' => ['value','another value',]]" button="#submit" mergeKey="submitForm2"/> - <switchToIFrame mergeKey="switchToIFrame1"/> - <switchToIFrame userInput="another_frame" mergeKey="switchToIFrame2"/> - <switchToNextTab mergeKey="switchToNextTab1"/> - <switchToNextTab userInput="2" mergeKey="switchToNextTab2"/> - <switchToPreviousTab mergeKey="switchToPreviewTab1"/> - <switchToPreviousTab userInput="1" mergeKey="switchToPreviewTab2"/> - <switchToWindow mergeKey="switchToWindow1"/> - <switchToWindow userInput="another_window" mergeKey="switchToWindow2"/> - <typeInPopup userInput="Stuff for popup" mergeKey="typeInPopup"/> - <uncheckOption selector="#option" mergeKey="uncheckOption"/> - <unselectOption selector="#dropDown" userInput="Option" mergeKey="unselectOption"/> - <wait time="15" mergeKey="wait"/> - <waitForElement selector="#button" time="10" mergeKey="waitForElement"/> - <waitForElementChange selector="#menu" function="function(\WebDriverElement $el) {return $el->isDisplayed();}" time="100" mergeKey="waitForElementChange"/> - <waitForElementNotVisible selector="#a_thing .className" time="30" mergeKey="waitForElementNotVisible"/> - <waitForElementVisible selector="#a_thing .className" time="15" mergeKey="waitForElementVisible"/> - <waitForJS function="return $.active == 0;" time="30" mergeKey="waitForJS"/> - <waitForText userInput="foo" time="30" mergeKey="waitForText1"/> - <waitForText userInput="foo" selector=".title" time="30" mergeKey="waitForText2"/> + <acceptPopup stepKey="acceptPopup"/> + <amOnPage url="/admin" stepKey="amOnPage"/> + <amOnSubdomain url="admin" stepKey="amOnSubdomain"/> + <amOnUrl url="http://www.google.com/" stepKey="amOnUrl"/> + <appendField userInput="More Words" selector=".stuff" stepKey="appendField"/> + <attachFile userInput="filename.php" selector="#stuff" stepKey="attachFile"/> + <cancelPopup stepKey="cancelPopup"/> + <checkOption selector="#checkbox" stepKey="checkOption"/> + <clearField selector="#field" stepKey="clearField"/> + <click selector="#button" userInput="Context" stepKey="click1"/> + <click selectorArray="['link' => 'Login']" stepKey="click2"/> + <click selectorArray="['link' => 'Login']" userInput="stuff" stepKey="click3"/> + <clickWithLeftButton selector="#clickHere" stepKey="clickWithLeftButton1" x="23" y="324"/> + <clickWithLeftButton selectorArray="['css' => '.checkout']" stepKey="clickWithLeftButton2" x="23" y="324"/> + <clickWithLeftButton stepKey="clickWithLeftButton3" x="23" y="324"/> + <clickWithRightButton selector="#clickHere" stepKey="clickWithRightButton1" x="23" y="324"/> + <clickWithRightButton selectorArray="['css' => '.checkout']" stepKey="clickWithRightButton2" x="23" y="324"/> + <clickWithRightButton stepKey="clickWithRightButton3" x="23" y="324"/> + <closeTab stepKey="closeTab"/> + <comment userInput="This is a Comment." stepKey="comment"/> + <createData entity="CustomerEntity1" stepKey="createData1"/> + <deleteData createDataKey="createData1" stepKey="deleteData1"/> + <dontSee userInput="Text" stepKey="dontSee1"/> + <dontSee userInput="Text" selector=".title" stepKey="dontSee2"/> + <dontSee userInput="Text" selectorArray="['css' => 'body h1']" stepKey="dontSee3"/> + <dontSeeCheckboxIsChecked selector="#checkbox" stepKey="dontSeeCheckboxIsChecked"/> + <dontSeeCookie userInput="cookieName" stepKey="dontSeeCookie1"/> + <dontSeeCookie userInput="cookieName" parameterArray="['domainName' => 'stuff']" stepKey="dontSeeCookie2"/> + <dontSeeCurrentUrlEquals url="/stuff" stepKey="dontSeeCurrentUrlEquals"/> + <dontSeeCurrentUrlMatches url="~$/users/(\d+)~" stepKey="dontSeeCurrentUrlMatches"/> + <dontSeeElement selector=".error" stepKey="dontSeeElement1"/> + <dontSeeElement selector="input" parameterArray="['name' => 'login']" stepKey="dontSeeElement2"/> + <dontSeeElementInDOM selector="#stuff" stepKey="dontSeeElementInDOM1"/> + <dontSeeElementInDOM selector="#stuff" parameterArray="['name' => 'login']" stepKey="dontSeeElementInDOM2"/> + <dontSeeInCurrentUrl url="/users/" stepKey="dontSeeInCurrentUrl"/> + <dontSeeInField selector=".field" userInput="stuff" stepKey="dontSeeInField1"/> + <dontSeeInField selectorArray="['name' => 'search']" userInput="Comment Here" stepKey="dontSeeInField2"/> + <dontSeeInFormFields selector="form[name=myform]" parameterArray="['input1' => 'non-existent value', 'input2' => 'other non-existent value']" stepKey="dontSeeInFormFields"/> + <dontSeeInPageSource userInput="Stuff in Page Source" stepKey="dontSeeInPageSource"/> + <!--<dontSeeInSource html="<h1></h1>" stepKey="dontSeeInSource"/>--> + <dontSeeInTitle userInput="Title" stepKey="dontSeeInTitle"/> + <dontSeeLink userInput="Logout" stepKey="dontSeeLink1"/> + <dontSeeLink userInput="Checkout" url="/store/cart.php" stepKey="dontSeeLink2"/> + <dontSeeOptionIsSelected selector="#form .stuff" userInput="Option Name" stepKey="dontSeeOptionIsSelected"/> + <doubleClick selector="#click .here" stepKey="doubleClick"/> + <dragAndDrop selector1="#number1" selector2="#number2" stepKey="dragAndDrop"/> + <executeInSelenium function="function(\Facebook\WebDriver\Remote\RemoteWebDriver $webdriver) {$webdriver->get('http://google.com');}" stepKey="executeInSelenium"/> + <executeJS function="return $('#myField').val()" stepKey="executeJS"/> + <fillField selector="#field" userInput="stuff" stepKey="fillField1"/> + <fillField selectorArray="['name' => 'email']" userInput="stuff" stepKey="fillField2"/> + <grabAttributeFrom returnVariable="title" selector="#target" userInput="title" stepKey="grabAttributeFrom"/> + <grabCookie returnVariable="cookie" userInput="cookie" parameterArray="['domain' => 'www.google.com']" stepKey="grabCookie"/> + <grabFromCurrentUrl returnVariable="uri" url="~$/user/(\d+)/~" stepKey="grabFromCurrentUrl"/> + <grabMultiple returnVariable="multiple" selector="a" userInput="href" stepKey="grabMultiple"/> + <grabPageSource returnVariable="pageSource" stepKey="grabPageSource1"/> + <grabTextFrom returnVariable="text" selector="h1" stepKey="grabTextFrom1"/> + <grabValueFrom returnVariable="value1" selector=".form" stepKey="grabValueFrom1"/> + <grabValueFrom returnVariable="value2" selectorArray="['name' => 'username']" stepKey="grabValueFrom2"/> + <loadSessionSnapshot userInput="stuff" stepKey="loadSessionSnapshot1"/> + <loadSessionSnapshot returnVariable="snapshot" userInput="stuff" stepKey="loadSessionSnapshot2"/> + <makeScreenshot userInput="ScreenshotName" stepKey="makeScreenshot"/> + <maximizeWindow stepKey="maximizeWindow"/> + <moveBack stepKey="moveBack"/> + <moveForward stepKey="moveForward"/> + <moveMouseOver selector="#stuff" stepKey="moveMouseOver1"/> + <moveMouseOver selectorArray="['css' => '.checkout']" stepKey="moveMouseOver2"/> + <moveMouseOver x="5" y="5" stepKey="moveMouseOver3"/> + <moveMouseOver selector="#stuff" x="5" y="5" stepKey="moveMouseOver4"/> + <moveMouseOver selectorArray="['css' => '.checkout']" x="5" y="5" stepKey="moveMouseOver5"/> + <openNewTab stepKey="openNewTab"/> + <pauseExecution stepKey="pauseExecution"/> + <performOn selector=".rememberMe" function="function (WebDriver $I) { $I->see('Remember me next time'); $I->seeElement('#LoginForm_rememberMe'); $I->dontSee('Login'); }" stepKey="performOn1"/> + <performOn selector=".rememberMe" function="ActionSequence::build()->see('Warning')->see('Are you sure you want to delete this?')->click('Yes')" stepKey="performOn2"/> + <pressKey selector="#page" userInput="a" stepKey="pressKey1"/> + <pressKey selector="#page" parameterArray="[['ctrl','a'],'new']" stepKey="pressKey2"/> + <pressKey selector="#page" parameterArray="[['shift','111'],'1','x']" stepKey="pressKey3"/> + <pressKey selector="#page" parameterArray="[['ctrl', 'a'], \Facebook\WebDriver\WebDriverKeys::DELETE]" stepKey="pressKey4"/> + <!--pressKey selector="descendant-or-self::*[@id='page']" userInput="u" stepKey="pressKey5"/--> + <reloadPage stepKey="reloadPage"/> + <resetCookie userInput="cookie" stepKey="resetCookie1"/> + <resetCookie userInput="cookie" parameterArray="['domainName' => 'www.google.com']" stepKey="resetCookie2"/> + <resizeWindow width="800" height="600" stepKey="resizeWindow"/> + <saveSessionSnapshot userInput="stuff" stepKey="saveSessionSnapshot"/> + <scrollTo selector="#place" x="20" y="50" stepKey="scrollTo1"/> + <scrollTo selectorArray="['css' => '.checkout']" x="20" y="50" stepKey="scrollTo2"/> + <see userInput="Stuff" stepKey="see1"/> + <see userInput="More Stuff" selector=".stuff" stepKey="see2"/> + <see userInput="More More Stuff" selectorArray="['css' => 'body h1']" stepKey="see3"/> + <seeCheckboxIsChecked selector="#checkbox" stepKey="seeCheckboxIsChecked"/> + <seeCookie userInput="PHPSESSID" stepKey="seeCookie1"/> + <seeCookie userInput="PHPSESSID" parameterArray="['domainName' => 'www.google.com']" stepKey="seeCookie2"/> + <seeCurrentUrlEquals url="/" stepKey="seeCurrentUrlEquals"/> + <seeCurrentUrlMatches url="~$/users/(\d+)~" stepKey="seeCurrentUrlMatches"/> + <seeElement selector=".error" stepKey="seeElement1"/> + <seeElement selectorArray="['css' => 'form input']" stepKey="seeElement2"/> + <seeElement selector=".error" parameterArray="['name' => 'login']" stepKey="seeElement3"/> + <seeElement selectorArray="['css' => 'form input']" parameterArray="['name' => 'login']" stepKey="seeElement4"/> + <seeElementInDOM selector="//form/input[type=hidden]" stepKey="seeElementInDOM1"/> + <seeElementInDOM selector="//form/input[type=hidden]" parameterArray="['name' => 'form']" stepKey="seeElementInDOM2"/> + <seeInCurrentUrl url="home" stepKey="seeInCurrentUrl1"/> + <seeInCurrentUrl url="/home/" stepKey="seeInCurrentUrl2"/> + <seeInField userInput="Stuff" selector="#field" stepKey="seeInField1"/> + <seeInField userInput="Stuff" selectorArray="['name' => 'search']" stepKey="seeInField2"/> + <seeInFormFields selector="form[name=myform]" parameterArray="['input1' => 'value','input2' => 'other value']" stepKey="seeInFormFields1"/> + <seeInFormFields selector=".form-class" parameterArray="[['multiselect' => ['value1','value2'],'checkbox[]]' => ['a checked value','another checked value',]]" stepKey="seeInFormFields2"/> + <!--<seeInPageSource html="<h1></h1>" stepKey="seeInPageSource"/>--> + <seeInPopup userInput="Yes in Popup" stepKey="seeInPopup"/> + <!--<seeInSource html="<h1></h1>" stepKey="seeInSource"/>--> + <seeInTitle userInput="In Title" stepKey="seeInTitle"/> + <seeLink userInput="Logout" stepKey="seeLink1"/> + <seeLink userInput="Logout" url="/logout" stepKey="seeLink2"/> + <seeNumberOfElements selector="tr" userInput="10" stepKey="seeNumberOfElements1"/> + <seeNumberOfElements selector="tr" userInput="[0, 10]" stepKey="seeNumberOfElements2"/> + <seeOptionIsSelected selector=".option" userInput="Visa" stepKey="seeOptionIsSelected"/> + <selectOption selector=".dropDown" userInput="Option Name" stepKey="selectOption1"/> + <selectOption selector="//form/select[@name=account]" parameterArray="['Windows','Linux']" stepKey="selectOption2"/> + <selectOption selector="Which OS do you use?" parameterArray="['text' => 'Windows']" stepKey="selectOption3"/> + <setCookie userInput="PHPSESSID" value="stuff" stepKey="setCookie1"/> + <setCookie userInput="PHPSESSID" value="stuff" parameterArray="['domainName' => 'www.google.com']" stepKey="setCookie2"/> + <submitForm selector="#my-form" parameterArray="['field' => ['value','another value',]]" button="#submit" stepKey="submitForm2"/> + <switchToIFrame stepKey="switchToIFrame1"/> + <switchToIFrame userInput="another_frame" stepKey="switchToIFrame2"/> + <switchToNextTab stepKey="switchToNextTab1"/> + <switchToNextTab userInput="2" stepKey="switchToNextTab2"/> + <switchToPreviousTab stepKey="switchToPreviewTab1"/> + <switchToPreviousTab userInput="1" stepKey="switchToPreviewTab2"/> + <switchToWindow stepKey="switchToWindow1"/> + <switchToWindow userInput="another_window" stepKey="switchToWindow2"/> + <typeInPopup userInput="Stuff for popup" stepKey="typeInPopup"/> + <uncheckOption selector="#option" stepKey="uncheckOption"/> + <unselectOption selector="#dropDown" userInput="Option" stepKey="unselectOption"/> + <wait time="15" stepKey="wait"/> + <waitForElement selector="#button" time="10" stepKey="waitForElement"/> + <waitForElementChange selector="#menu" function="function(\WebDriverElement $el) {return $el->isDisplayed();}" time="100" stepKey="waitForElementChange"/> + <waitForElementNotVisible selector="#a_thing .className" time="30" stepKey="waitForElementNotVisible"/> + <waitForElementVisible selector="#a_thing .className" time="15" stepKey="waitForElementVisible"/> + <waitForJS function="return $.active == 0;" time="30" stepKey="waitForJS"/> + <waitForText userInput="foo" time="30" stepKey="waitForText1"/> + <waitForText userInput="foo" selector=".title" time="30" stepKey="waitForText2"/> </test> <test name="AllCustomMethodsTest"> <annotations> @@ -180,23 +179,32 @@ <severity value="CRITICAL"/> <testCaseId value="#"/> </annotations> - <loginAsAdmin mergeKey="loginAsAdmin1"/> - <loginAsAdmin username="admin" password="123123q" mergeKey="loginAsAdmin2"/> - <closeAdminNotification mergeKey="closeAdminNotification1"/> - <searchAndMultiSelectOption selector="#stuff" parameterArray="['Item 1', 'Item 2']" mergeKey="searchAndMultiSelect1"/> - <searchAndMultiSelectOption selector="#stuff" parameterArray="['Item 1', 'Item 2']" requiredAction="true" mergeKey="searchAndMultiSelect2"/> - <waitForPageLoad mergeKey="waitForPageLoad1"/> - <waitForPageLoad time="15" mergeKey="waitForPageLoad2"/> - <waitForAjaxLoad mergeKey="waitForAjax1"/> - <waitForAjaxLoad time="15" mergeKey="waitForAjax2"/> - <dontSeeJsError mergeKey="dontSeeJsError"/> - <formatMoney userInput="$300,000" mergeKey="formatMoney1"/> - <formatMoney userInput="$300,000" locale="en_US.UTF-8" mergeKey="formatMoney2"/> - <mSetLocale userInput="300" locale="en_US.UTF-8" mergeKey="mSetLocale1"/> - <mResetLocale mergeKey="mResetLocale1"/> - <waitForLoadingMaskToDisappear mergeKey="waitForLoadingMaskToDisappear1"/> - <scrollToTopOfPage mergeKey="scrollToTopOfPage"/> - <parseFloat userInput="300,000.2325" mergeKey="parseFloat1"/> + <assertElementContainsAttribute selector="#username" attribute="class" expectedValue="admin__control-text" stepKey="assertElementContainsAttribute1"/> + <assertElementContainsAttribute selector="#username" attribute="type" expectedValue="text" stepKey="assertElementContainsAttribute2"/> + <assertElementContainsAttribute selector="#username" attribute="name" expectedValue="login[username]" stepKey="assertElementContainsAttribute3"/> + <assertElementContainsAttribute selector="#username" attribute="autofocus" expectedValue="" stepKey="assertElementContainsAttribute4"/> + <assertElementContainsAttribute selector="#username" attribute="data-validate" expectedValue="{required:true}" stepKey="assertElementContainsAttribute5"/> + <assertElementContainsAttribute selector="#username" attribute="placeholder" expectedValue="user name" stepKey="assertElementContainsAttribute6"/> + <assertElementContainsAttribute selector="#username" attribute="autocomplete" expectedValue="off" stepKey="assertElementContainsAttribute7"/> + <assertElementContainsAttribute selector=".admin__menu-overlay" attribute="style" expectedValue="display: none;" stepKey="assertElementContainsAttribute8"/> + <assertElementContainsAttribute selector=".admin__menu-overlay" attribute="border" expectedValue="0" stepKey="assertElementContainsAttribute9"/> + <loginAsAdmin stepKey="loginAsAdmin1"/> + <loginAsAdmin username="admin" password="123123q" stepKey="loginAsAdmin2"/> + <closeAdminNotification stepKey="closeAdminNotification1"/> + <searchAndMultiSelectOption selector="#stuff" parameterArray="['Item 1', 'Item 2']" stepKey="searchAndMultiSelect1"/> + <searchAndMultiSelectOption selector="#stuff" parameterArray="['Item 1', 'Item 2']" requiredAction="true" stepKey="searchAndMultiSelect2"/> + <waitForPageLoad stepKey="waitForPageLoad1"/> + <waitForPageLoad time="15" stepKey="waitForPageLoad2"/> + <waitForAjaxLoad stepKey="waitForAjax1"/> + <waitForAjaxLoad time="15" stepKey="waitForAjax2"/> + <dontSeeJsError stepKey="dontSeeJsError"/> + <formatMoney userInput="$300,000" stepKey="formatMoney1"/> + <formatMoney userInput="$300,000" locale="en_US.UTF-8" stepKey="formatMoney2"/> + <mSetLocale userInput="300" locale="en_US.UTF-8" stepKey="mSetLocale1"/> + <mResetLocale stepKey="mResetLocale1"/> + <waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear1"/> + <scrollToTopOfPage stepKey="scrollToTopOfPage"/> + <parseFloat userInput="300,000.2325" stepKey="parseFloat1"/> </test> <test name="AllVariableMethodsTest"> <annotations> @@ -205,51 +213,51 @@ <severity value="CRITICAL"/> <testCaseId value="#"/> </annotations> - <grabFromCurrentUrl returnVariable="randomStuff" mergeKey="grabFromCurrentUrl1"/> - <amOnPage variable="randomStuff" mergeKey="amOnPage1"/> - <amOnSubdomain variable="randomStuff" mergeKey="amOnSubdomain1"/> - <amOnUrl variable="randomStuff" mergeKey="amOnUrl1"/> - <appendField variable="randomStuff" selector="#randomField" mergeKey="appendField1"/> - <attachFile variable="randomStuff" selector="#filePathField" mergeKey="attachFile1"/> - <click variable="randomStuff" mergeKey="click1"/> - <dontSee variable="randomStuff" mergeKey="dontSee1"/> - <dontSeeCookie variable="randomStuff" mergeKey="dontSeeCookie1"/> - <dontSeeCurrentUrlEquals variable="randomStuff" mergeKey="dontSeeCurrentUrlEquals1"/> - <dontSeeCurrentUrlMatches variable="randomStuff" mergeKey="dontSeeCurrentUrlMatches1"/> - <dontSeeInCurrentUrl variable="randomStuff" mergeKey="dontSeeInCurrentUrl1"/> - <dontSeeInField selector="#stuff" variable="randomStuff" mergeKey="dontSeeInField1"/> - <dontSeeInPageSource variable="randomStuff" mergeKey="dontSeeInPageSource1"/> - <dontSeeInTitle variable="randomStuff" mergeKey="dontSeeInTitle1"/> - <dontSeeLink variable="randomStuff" mergeKey="dontSeeLink1"/> - <dontSeeOptionIsSelected selector="#dropdown" variable="randomStuff" mergeKey="dontSeeOptionIsSelected1"/> - <fillField variable="randomStuff" selector="#field" mergeKey="fillField1"/> - <grabAttributeFrom selector="#stuff" returnVariable="moreRandomStuff" variable="randomStuff" mergeKey="grabAttributeFrom1"/> - <grabCookie returnVariable="cookies" variable="randomStuff" mergeKey="grabValueFrom1"/> - <grabFromCurrentUrl returnVariable="url" variable="randomStuff" mergeKey="grabFromCurrentUrl"/> - <grabMultiple returnVariable="multipleThings" selector="a" variable="randomStuff" mergeKey="grabMultiple1"/> - <loadSessionSnapshot variable="randomStuff" mergeKey="loadSessionSnapshot"/> - <pressKey selector="a" variable="randomStuff" mergeKey="pressKey1"/> - <saveSessionSnapshot variable="randomStuff" mergeKey="saveSessionSnapshot1"/> - <see variable="randomStuff" mergeKey="see1"/> - <seeCookie variable="randomStuff" mergeKey="seeCookie1"/> - <seeCurrentUrlEquals variable="randomStuff" mergeKey="seeCurrentUrlEquals1"/> - <seeCurrentUrlMatches variable="randomStuff" mergeKey="seeCurrentUrlMatches1"/> - <seeInCurrentUrl variable="randomStuff" mergeKey="seeInCurrentUrl1"/> - <seeInField selector="a" variable="randomStuff" mergeKey="seeInField1"/> - <seeInPopup variable="randomStuff" mergeKey="seeInPopup"/> - <seeInTitle variable="randomStuff" mergeKey="seeInTitle1"/> - <seeLink variable="randomStuff" mergeKey="seeLink1"/> - <seeNumberOfElements selector="#stuff" variable="randomStuff" mergeKey="seeNumberOfElements1"/> - <seeOptionIsSelected selector="#stuff" variable="randomStuff" mergeKey="seeOptionIsSelected1"/> - <selectOption selector="#stuff" variable="randomStuff" mergeKey="selectOption1"/> - <switchToIFrame variable="randomStuff" mergeKey="switchToIFrame1"/> - <switchToNextTab variable="randomStuff" mergeKey="switchToNextTab1"/> - <switchToPreviousTab variable="randomStuff" mergeKey="switchToPreviousTab1"/> - <switchToNextTab variable="randomStuff" mergeKey="switchToNextTab1"/> - <switchToWindow variable="randomStuff" mergeKey="switchToWindow1"/> - <typeInPopup variable="randomStuff" mergeKey="typeInPopup"/> - <unselectOption selector="#option" variable="randomStuff" mergeKey="unselectOption1"/> - <waitForText variable="randomStuff" time="5" mergeKey="waitForText1"/> + <grabFromCurrentUrl returnVariable="randomStuff" stepKey="grabFromCurrentUrl1"/> + <amOnPage variable="randomStuff" stepKey="amOnPage1"/> + <amOnSubdomain variable="randomStuff" stepKey="amOnSubdomain1"/> + <amOnUrl variable="randomStuff" stepKey="amOnUrl1"/> + <appendField variable="randomStuff" selector="#randomField" stepKey="appendField1"/> + <attachFile variable="randomStuff" selector="#filePathField" stepKey="attachFile1"/> + <click variable="randomStuff" stepKey="click1"/> + <dontSee variable="randomStuff" stepKey="dontSee1"/> + <dontSeeCookie variable="randomStuff" stepKey="dontSeeCookie1"/> + <dontSeeCurrentUrlEquals variable="randomStuff" stepKey="dontSeeCurrentUrlEquals1"/> + <dontSeeCurrentUrlMatches variable="randomStuff" stepKey="dontSeeCurrentUrlMatches1"/> + <dontSeeInCurrentUrl variable="randomStuff" stepKey="dontSeeInCurrentUrl1"/> + <dontSeeInField selector="#stuff" variable="randomStuff" stepKey="dontSeeInField1"/> + <dontSeeInPageSource variable="randomStuff" stepKey="dontSeeInPageSource1"/> + <dontSeeInTitle variable="randomStuff" stepKey="dontSeeInTitle1"/> + <dontSeeLink variable="randomStuff" stepKey="dontSeeLink1"/> + <dontSeeOptionIsSelected selector="#dropdown" variable="randomStuff" stepKey="dontSeeOptionIsSelected1"/> + <fillField variable="randomStuff" selector="#field" stepKey="fillField1"/> + <grabAttributeFrom selector="#stuff" returnVariable="moreRandomStuff" variable="randomStuff" stepKey="grabAttributeFrom1"/> + <grabCookie returnVariable="cookies" variable="randomStuff" stepKey="grabValueFrom1"/> + <grabFromCurrentUrl returnVariable="url" variable="randomStuff" stepKey="grabFromCurrentUrl"/> + <grabMultiple returnVariable="multipleThings" selector="a" variable="randomStuff" stepKey="grabMultiple1"/> + <loadSessionSnapshot variable="randomStuff" stepKey="loadSessionSnapshot"/> + <pressKey selector="a" variable="randomStuff" stepKey="pressKey1"/> + <saveSessionSnapshot variable="randomStuff" stepKey="saveSessionSnapshot1"/> + <see variable="randomStuff" stepKey="see1"/> + <seeCookie variable="randomStuff" stepKey="seeCookie1"/> + <seeCurrentUrlEquals variable="randomStuff" stepKey="seeCurrentUrlEquals1"/> + <seeCurrentUrlMatches variable="randomStuff" stepKey="seeCurrentUrlMatches1"/> + <seeInCurrentUrl variable="randomStuff" stepKey="seeInCurrentUrl1"/> + <seeInField selector="a" variable="randomStuff" stepKey="seeInField1"/> + <seeInPopup variable="randomStuff" stepKey="seeInPopup"/> + <seeInTitle variable="randomStuff" stepKey="seeInTitle1"/> + <seeLink variable="randomStuff" stepKey="seeLink1"/> + <seeNumberOfElements selector="#stuff" variable="randomStuff" stepKey="seeNumberOfElements1"/> + <seeOptionIsSelected selector="#stuff" variable="randomStuff" stepKey="seeOptionIsSelected1"/> + <selectOption selector="#stuff" variable="randomStuff" stepKey="selectOption1"/> + <switchToIFrame variable="randomStuff" stepKey="switchToIFrame1"/> + <switchToNextTab variable="randomStuff" stepKey="switchToNextTab1"/> + <switchToPreviousTab variable="randomStuff" stepKey="switchToPreviousTab1"/> + <switchToNextTab variable="randomStuff" stepKey="switchToNextTab1"/> + <switchToWindow variable="randomStuff" stepKey="switchToWindow1"/> + <typeInPopup variable="randomStuff" stepKey="typeInPopup"/> + <unselectOption selector="#option" variable="randomStuff" stepKey="unselectOption1"/> + <waitForText variable="randomStuff" time="5" stepKey="waitForText1"/> </test> <test name="AllReplacementTest"> <annotations> @@ -259,36 +267,36 @@ <testCaseId value="#"/> </annotations> - <createData entity="CustomerEntity1" mergeKey="testScopeData"/> - <createData entity="AssertThis" mergeKey="testScopeData2"/> + <createData entity="CustomerEntity1" stepKey="testScopeData"/> + <createData entity="AssertThis" stepKey="testScopeData2"/> <!-- parameterized url that uses literal params --> - <amOnPage url="{{SamplePage.url('success','success2')}}" mergeKey="a0"/> + <amOnPage url="{{SamplePage.url('success','success2')}}" stepKey="a0"/> <!-- url referencing data that was created in this <test> --> - <amOnPage url="$testScopeData.firstname$.html" mergeKey="a1"/> + <amOnPage url="$testScopeData.firstname$.html" stepKey="a1"/> <!-- url referencing data that was created in a <before> --> - <amOnPage url="$$createData1.firstname$$.html" mergeKey="a2"/> + <amOnPage url="$$createData1.firstname$$.html" stepKey="a2"/> <!-- parameterized url that uses created data params --> - <amOnPage url="{{SamplePage.url($testScopeData.firstname$,$testScopeData.lastname$)}}" mergeKey="a3"/> - <amOnPage url="{{SamplePage.url($$createData1.firstname$$,$$createData1.lastname$$)}}" mergeKey="a4"/> + <amOnPage url="{{SamplePage.url($testScopeData.firstname$,$testScopeData.lastname$)}}" stepKey="a3"/> + <amOnPage url="{{SamplePage.url($$createData1.firstname$$,$$createData1.lastname$$)}}" stepKey="a4"/> <!-- parameterized selector that uses literal params --> - <click selector="{{SampleSection.oneParamElement('success')}}" mergeKey="c1"/> - <click selector="{{SampleSection.twoParamElement('success','success2')}}" mergeKey="c2"/> + <click selector="{{SampleSection.oneParamElement('success')}}" stepKey="c1"/> + <click selector="{{SampleSection.twoParamElement('success','success2')}}" stepKey="c2"/> <!-- parameterized selector with literal, static data, and created data --> - <click selector="{{SampleSection.threeParamElement('John', SamplePerson.lastname, $testScopeData.lastname$)}}" mergeKey="c3"/> + <click selector="{{SampleSection.threeParamElement('John', SamplePerson.lastname, $testScopeData.lastname$)}}" stepKey="c3"/> <!-- selector that uses created data --> - <click selector="#$testScopeData.firstname$ .$testScopeData.lastname$" mergeKey="c4"/> - <click selector="#$$createData1.firstname$$ .$$createData1.lastname$$" mergeKey="c5"/> + <click selector="#$testScopeData.firstname$ .$testScopeData.lastname$" stepKey="c4"/> + <click selector="#$$createData1.firstname$$ .$$createData1.lastname$$" stepKey="c5"/> <!-- userInput that uses created data --> - <fillField selector="#sample" userInput="Hello $testScopeData.firstname$ $testScopeData.lastname$" mergeKey="f1"/> - <fillField selector="#sample" userInput="Hello $$createData1.firstname$$ $$createData1.lastname$$" mergeKey="f2"/> + <fillField selector="#sample" userInput="Hello $testScopeData.firstname$ $testScopeData.lastname$" stepKey="f1"/> + <fillField selector="#sample" userInput="Hello $$createData1.firstname$$ $$createData1.lastname$$" stepKey="f2"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/SetPaymentConfigurationCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/SetPaymentConfigurationCest.xml index 60b1f945e6b4a9ad25ebe96d596be9b3f29dfc46..9022ae32a337c30915f60a3ef81f3d8ecd79d001 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/SetPaymentConfigurationCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/SetPaymentConfigurationCest.xml @@ -9,13 +9,16 @@ <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd"> <cest name="SetPaymentConfigurationCest"> + <annotations> + <group value="skip"/> + </annotations> <test name="SetPaypalConfigurationTest"> - <createData entity="SamplePaypalConfig" mergeKey="createSamplePaypalConfig"/> - <createData entity="DefaultPayPalConfig" mergeKey="restoreDefaultPaypalConfig"/> + <createData entity="SamplePaypalConfig" stepKey="createSamplePaypalConfig"/> + <createData entity="DefaultPayPalConfig" stepKey="restoreDefaultPaypalConfig"/> </test> <test name="SetBraintreeConfigurationTest"> - <createData entity="SampleBraintreeConfig" mergeKey="createSampleBraintreeConfig"/> - <createData entity="DefaultBraintreeConfig" mergeKey="restoreDefaultBraintreeConfig"/> + <createData entity="SampleBraintreeConfig" stepKey="createSampleBraintreeConfig"/> + <createData entity="DefaultBraintreeConfig" stepKey="restoreDefaultBraintreeConfig"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/UpdateSimpleProductByApiCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/UpdateSimpleProductByApiCest.xml index 7d80719a227ef5b42e795946094addc6ae48cda2..9fa215e582e3ae80059db3fda4736f44690b2afb 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/UpdateSimpleProductByApiCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/Cest/UpdateSimpleProductByApiCest.xml @@ -11,21 +11,17 @@ <annotations> <features value="Update simple product by api test."/> <stories value="Update simple product by api test."/> - <group value="example"/> - <env value="chrome"/> - <env value="firefox"/> - <env value="phantomjs"/> - <env value="headless"/> + <group value="skip"/> </annotations> <before> - <createData mergeKey="categoryHandle" entity="SimpleSubCategory"/> - <createData mergeKey="productHandle" entity="SimpleProduct" > + <createData stepKey="categoryHandle" entity="SimpleSubCategory"/> + <createData stepKey="productHandle" entity="SimpleProduct" > <required-entity createDataKey="categoryHandle"/> </createData> - <updateData mergeKey="updateProduct" entity="NewSimpleProduct" createDataKey="productHandle"/> + <updateData stepKey="updateProduct" entity="NewSimpleProduct" createDataKey="productHandle"/> </before> <after> - <deleteData mergeKey="delete" createDataKey="productHandle"/> + <deleteData stepKey="delete" createDataKey="updateProduct"/> </after> <test name="UpdateSimpleProductByApiTest"> </test> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/LICENSE.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..49525fd99da9c51e6d85420266d41cb3d6b7a648 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/LICENSE_AFL.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/LICENSE_AFL.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39d641b18a19e56df6c8a3e4038c940fb886b32 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/README.md new file mode 100644 index 0000000000000000000000000000000000000000..f3340b205f1a3ff63ef3c11e2f3af7bd4f2a35d9 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/README.md @@ -0,0 +1,3 @@ +# Magento 2 Functional Tests + +The Functional Tests Module for **Magento_SampleTests** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..70a9e9806b7b631c0e55ecfef484a8814741bc5a --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests/composer.json @@ -0,0 +1,30 @@ +{ + "name": "magento/magento2-functional-test-module-sample-tests", + "description": "Magento 2 Functional Test Module Sample Tests", + "type": "magento2-test-module", + "version": "100.0.0-dev", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "autoload": { + "psr-4": { + "Magento\\FunctionalTest\\SampleTests\\": "" + } + }, + "extra": { + "map": [ + [ + "*", + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SampleTests" + ] + ] + } +} diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Search/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Search/README.md index 17d37794fb03d4d1214e2878cb6e54441c2b280a..bb6c6d52df27d0c1dd99b8c21ee9698e15df16c2 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Search/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Search/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Search** Module. +The Functional Tests Module for **Magento_Search** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Search/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Search/composer.json index ef78fc2a19ca62605e7f28dab4eeaf4cea5ec044..c49c01d906ec3568106abe9bcb973ce7b6da201f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Search/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Search/composer.json @@ -1,53 +1,36 @@ { "name": "magento/magento2-functional-test-module-search", - "description": "Magento 2 Acceptance Test Module Search", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog-search": "dev-master", - "magento/magento2-functional-test-module-reports": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Search", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-search": "100.0.0-dev", + "magento/magento2-functional-test-module-reports": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Search\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Search" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Search" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Security/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Security/README.md index 2507ca55e068e0f6625e7a596189624271cd69de..26f535867d4bc932ee8e31e05910a5c777c21030 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Security/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Security/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Security** Module. +The Functional Tests Module for **Magento_Security** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Security/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Security/composer.json index 0490f14838574e7dff37c504365ac083fcaba41d..49278c3877af17f030f25f49edcf010913f0ea0d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Security/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Security/composer.json @@ -1,50 +1,33 @@ { "name": "magento/magento2-functional-test-module-security", - "description": "Magento 2 Acceptance Test Module Security", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Security", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Security\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Security" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Security" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SendFriend/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SendFriend/README.md index 00d818d2406b562a3102b0db69d9b94a9574cbbb..8759f1b780d3bdd9937f3d529c08439c656c227e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SendFriend/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SendFriend/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_SendFriend** Module. +The Functional Tests Module for **Magento_SendFriend** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SendFriend/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SendFriend/composer.json index 4dbd07d2aefd3657f689c061586df732901bd549..34c4fe3b466f28c3603faaa2b1c22e55e047ee37 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SendFriend/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SendFriend/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-send-friend", - "description": "Magento 2 Acceptance Test Module Send Friend", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master" - }, + "description": "Magento 2 Functional Test Module Send Friend", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\SendFriend\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/SendFriend" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SendFriend" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Shipping/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Shipping/README.md index fbca31f68edbe9266156ed356c113032c01e138e..2e2ca0df9eaa676a2a7c571921525ec5f9b7d4e5 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Shipping/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Shipping/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Shipping** Module. +The Functional Tests Module for **Magento_Shipping** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Shipping/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Shipping/composer.json index e4ad63928ad000c5b1548933ea5654b55bfc6685..007c4a85ee91955c4953794e6a4028c301c0cebe 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Shipping/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Shipping/composer.json @@ -1,61 +1,44 @@ { "name": "magento/magento2-functional-test-module-shipping", - "description": "Magento 2 Acceptance Test Module Shipping", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-contact": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master", - "magento/magento2-functional-test-module-user": "dev-master" - }, + "description": "Magento 2 Functional Test Module Shipping", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-contact": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-user": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Shipping\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Shipping" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Shipping" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sitemap/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sitemap/README.md index cc89e5a0bce90550ec5b7c24af29ebf15d189396..9770ead78032cf2229503b9052498535fb69e7b1 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sitemap/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sitemap/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Sitemap** Module. +The Functional Tests Module for **Magento_Sitemap** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sitemap/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sitemap/composer.json index 9b7f0c3e184ef51fa4b96622ca0f557e6bfe8749..35cfb059ee516c7a9f4c5f563bfb9155588283f3 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sitemap/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sitemap/composer.json @@ -1,57 +1,40 @@ { "name": "magento/magento2-functional-test-module-sitemap", - "description": "Magento 2 Acceptance Test Module Sitemap", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog-url-rewrite": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-robots": "dev-master" - }, + "description": "Magento 2 Functional Test Module Sitemap", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-url-rewrite": "100.0.0-dev", + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-robots": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Sitemap\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Sitemap" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Sitemap" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/Cest/AdminCreateStoreGroupCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/Cest/AdminCreateStoreGroupCest.xml index 53692f3f41de6573f306529a756fb52c87afe23e..8cfcd7d29ec14781e3c526ac989c3daa406a5fdc 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/Cest/AdminCreateStoreGroupCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/Cest/AdminCreateStoreGroupCest.xml @@ -13,38 +13,37 @@ <stories value="Create a store group in admin"/> <env value="chrome"/> <env value="firefox"/> - <env value="phantomjs"/> <group value="store"/> </annotations> <before> - <createData mergeKey="b1" entity="customStoreGroup"/> - <createData mergeKey="b2" entity="customStoreGroup"/> + <createData stepKey="b1" entity="customStoreGroup"/> + <createData stepKey="b2" entity="customStoreGroup"/> </before> <test name="AdminCreateStoreGroupTest"> <annotations> <title value="Create a store group in admin"/> <description value="Create a store group in admin"/> </annotations> - <amOnPage mergeKey="s1" url="{{AdminLoginPage.url}}"/> - <fillField mergeKey="s3" selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}"/> - <fillField mergeKey="s5" selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}"/> - <click mergeKey="s7" selector="{{AdminLoginFormSection.signIn}}"/> - <amOnPage mergeKey="s9" url="{{AdminSystemStorePage.url}}"/> + <amOnPage stepKey="s1" url="{{AdminLoginPage.url}}"/> + <fillField stepKey="s3" selector="{{AdminLoginFormSection.username}}" userInput="{{_ENV.MAGENTO_ADMIN_USERNAME}}"/> + <fillField stepKey="s5" selector="{{AdminLoginFormSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}"/> + <click stepKey="s7" selector="{{AdminLoginFormSection.signIn}}"/> + <amOnPage stepKey="s9" url="{{AdminSystemStorePage.url}}"/> - <click mergeKey="s11" selector="{{AdminStoresGridSection.resetButton}}"/> - <waitForPageLoad mergeKey="s15" time="10"/> + <click stepKey="s11" selector="{{AdminStoresGridSection.resetButton}}"/> + <waitForPageLoad stepKey="s15" time="10"/> - <fillField mergeKey="s17" selector="{{AdminStoresGridSection.storeGrpFilterTextField}}" userInput="$$b1.group[name]$$"/> - <click mergeKey="s19" selector="{{AdminStoresGridSection.searchButton}}"/> - <waitForPageLoad mergeKey="s21" time="10"/> - <see mergeKey="s23" selector="{{AdminStoresGridSection.storeGrpNameInFirstRow}}" userInput="$$b1.group[name]$$"/> + <fillField stepKey="s17" selector="{{AdminStoresGridSection.storeGrpFilterTextField}}" userInput="$$b1.group[name]$$"/> + <click stepKey="s19" selector="{{AdminStoresGridSection.searchButton}}"/> + <waitForPageLoad stepKey="s21" time="10"/> + <see stepKey="s23" selector="{{AdminStoresGridSection.storeGrpNameInFirstRow}}" userInput="$$b1.group[name]$$"/> - <click mergeKey="s31" selector="{{AdminStoresGridSection.resetButton}}"/> - <waitForPageLoad mergeKey="s35" time="10"/> - <fillField mergeKey="s37" selector="{{AdminStoresGridSection.storeGrpFilterTextField}}" userInput="$$b2.group[name]$$"/> - <click mergeKey="s39" selector="{{AdminStoresGridSection.searchButton}}"/> - <waitForPageLoad mergeKey="s41" time="10"/> - <see mergeKey="s43" selector="{{AdminStoresGridSection.storeGrpNameInFirstRow}}" userInput="$$b2.group[name]$$"/> + <click stepKey="s31" selector="{{AdminStoresGridSection.resetButton}}"/> + <waitForPageLoad stepKey="s35" time="10"/> + <fillField stepKey="s37" selector="{{AdminStoresGridSection.storeGrpFilterTextField}}" userInput="$$b2.group[name]$$"/> + <click stepKey="s39" selector="{{AdminStoresGridSection.searchButton}}"/> + <waitForPageLoad stepKey="s41" time="10"/> + <see stepKey="s43" selector="{{AdminStoresGridSection.storeGrpNameInFirstRow}}" userInput="$$b2.group[name]$$"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/README.md index 108f407dd446f7fbe8b2b1cbaf75ee77f5663c4a..409824ff7bfc3d0107c6d8e952ee350ec635b002 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Store** Module. +The Functional Tests Module for **Magento_Store** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/composer.json index 084ebb97b11580264a42c00da8a5f1cd3a931742..e456d4113c43082a02cc9041cab09761461b56a5 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/composer.json @@ -1,53 +1,36 @@ { "name": "magento/magento2-functional-test-module-store", - "description": "Magento 2 Acceptance Test Module Store", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master" - }, + "description": "Magento 2 Functional Test Module Store", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Store\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Store" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swagger/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swagger/README.md index 767c5b0b729a3a99bc6e1642cc5185ab346b1153..b9ad9db966882ecdcf8b6ee6dc433e054d3185cb 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swagger/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swagger/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Swagger** Module. +The Functional Tests Module for **Magento_Swagger** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swagger/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swagger/composer.json index 5b62252b3dfb78bb247475a496758651a535d0e3..9d6c6ac8a8e22747fbd5802fd1b9203fb7312659 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swagger/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swagger/composer.json @@ -1,46 +1,29 @@ { "name": "magento/magento2-functional-test-module-swagger", - "description": "Magento 2 Acceptance Test Module Swagger", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, + "description": "Magento 2 Functional Test Module Swagger", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Swagger\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Swagger" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swagger" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swatches/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swatches/README.md index cc3852f1ed09b7dcb6e0f05a27b36d0ac53b06d4..c117f0005c6b132c43d71909caa67298ceb93610 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swatches/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swatches/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Swatches** Module. +The Functional Tests Module for **Magento_Swatches** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swatches/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swatches/composer.json index aa541ddd3a4eff5cafeaa5931f4978502ef264b7..60588d548aacccd0d6cfa6bedb99dca0623f4d36 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swatches/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swatches/composer.json @@ -1,57 +1,40 @@ { "name": "magento/magento2-functional-test-module-swatches", - "description": "Magento 2 Acceptance Test Module Swatches", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-configurable-product": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master" - }, + "description": "Magento 2 Functional Test Module Swatches", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-configurable-product": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Swatches\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Swatches" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Swatches" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation/README.md index b4b81246d1f4d45faa16f97b1583f149f260754c..5f25de111faa62755600eae7cdcb5174c06f70b7 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_SwatchesLayeredNavigation** Module. +The Functional Tests Module for **Magento_SwatchesLayeredNavigation** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation/composer.json index f195f6b7aad68581375239ed37ff0ffd66b34fc4..64d374145ce97fc59b9a3907e99b90693872952c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation/composer.json @@ -1,46 +1,29 @@ { "name": "magento/magento2-functional-test-module-swatches-layered-navigation", - "description": "Magento 2 Acceptance Test Module Swatches Layered Navigation", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, + "description": "Magento 2 Functional Test Module Swatches Layered Navigation", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\SwatchesLayeredNavigation\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SwatchesLayeredNavigation" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Tax/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Tax/README.md index 0a3794479ecb9fee37d7de0c1cf72a3e01c27676..0b2f50e217b0b1f99b0a5224180cb033d58aad2d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Tax/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Tax/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Tax** Module. +The Functional Tests Module for **Magento_Tax** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Tax/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Tax/composer.json index ca12ade23381b1af599e1ad35767a79e6e199402..c81eac8e64e83a961276499b70ccedd57788fc0f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Tax/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Tax/composer.json @@ -1,61 +1,44 @@ { "name": "magento/magento2-functional-test-module-tax", - "description": "Magento 2 Acceptance Test Module Tax", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-shipping": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-reports": "dev-master", - "magento/magento2-functional-test-module-page-cache": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master" - }, + "description": "Magento 2 Functional Test Module Tax", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-page-cache": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-reports": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Tax\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Tax" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Tax" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/TaxImportExport/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/TaxImportExport/composer.json index 563df720db8f8f6dd857dd07fc24c3216ed09840..92c8043066c3afd4db10dc7a568cbc39c8525b13 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/TaxImportExport/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/TaxImportExport/composer.json @@ -1,52 +1,35 @@ { "name": "magento/magento2-functional-test-module-tax-import-export", - "description": "Magento 2 Acceptance Test Module Tax Import Export", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master" - }, + "description": "Magento 2 Functional Test Module Tax Import Export", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\TaxImportExport\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/TaxImportExport" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/TaxImportExport" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Theme/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Theme/README.md index 187985eb18757357c24b248699c6ebc0f0bf4844..d52ba3a230431193d85886c6232058b86130382f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Theme/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Theme/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Theme** Module. +The Functional Tests Module for **Magento_Theme** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Theme/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Theme/composer.json index e54095e5ed0c3a36d65758dac72adfbd835de097..5e0e44f3b1f686e6c1c47f78459d9163d9ca322c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Theme/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Theme/composer.json @@ -1,57 +1,41 @@ { "name": "magento/magento2-functional-test-module-theme", - "description": "Magento 2 Acceptance Test Module Theme", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-widget": "dev-master", - "magento/magento2-functional-test-module-config": "dev-master", - "magento/magento2-functional-test-module-media-storage": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Theme", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-media-storage": "100.0.0-dev", + "magento/magento2-functional-test-module-require-js": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev", + "magento/magento2-functional-test-module-widget": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Theme\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Theme" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Theme" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Translation/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Translation/README.md index 477d0cca79123636382e8bfad93d7d1f43305361..4f3da0b95f39d90149c3c1ba2f034127c54ef24e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Translation/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Translation/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Translation** Module. +The Functional Tests Module for **Magento_Translation** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Translation/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Translation/composer.json index 7825f0b22d6e75278c54433fa2ca554d1410206b..3c41daeb237053ef4fe3146917c11bf24148ae1c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Translation/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Translation/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-translation", - "description": "Magento 2 Acceptance Test Module Translation", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-developer": "dev-master" - }, + "description": "Magento 2 Functional Test Module Translation", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-developer": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Translation\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Translation" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Translation" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ui/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ui/README.md index ca2fc10740951bf1aed6cf80651e3ade717ccc20..0e654f6aa5e8f66aa694a7f86b82aaed7eb19cf0 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ui/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ui/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Ui** Module. +The Functional Tests Module for **Magento_Ui** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ui/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ui/composer.json index 652a4ebed3a70ecbbd0ab4d4b4f8914cdec9cbf0..c8b9594133978c973b8242e74cce1db7570bc68b 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ui/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ui/composer.json @@ -1,52 +1,35 @@ { "name": "magento/magento2-functional-test-module-ui", - "description": "Magento 2 Acceptance Test Module Ui", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-authorization": "dev-master", - "magento/magento2-functional-test-module-user": "dev-master" - }, + "description": "Magento 2 Functional Test Module Ui", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-authorization": "100.0.0-dev", + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-user": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Ui\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Ui" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ui" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ups/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ups/README.md index 95189beffd42678e471b0cf2c3ed88a50a10bf57..3a7f99729cad3cc607918a3147e1b875c995e53a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ups/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ups/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Ups** Module. +The Functional Tests Module for **Magento_Ups** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ups/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ups/composer.json index 6cb246e0d55a30f2debd9445163d9c72045f60c6..d972a81232963ce64154ad9c8820c200bee35bb9 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ups/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ups/composer.json @@ -1,55 +1,38 @@ { "name": "magento/magento2-functional-test-module-ups", - "description": "Magento 2 Acceptance Test Module Ups", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-shipping": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master" - }, + "description": "Magento 2 Functional Test Module Ups", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Ups\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Ups" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Ups" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/UrlRewrite/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/UrlRewrite/README.md index a0c3a234569c9446c371d34e10462aa7fa3057cf..645ff970002a148de0a3739e5ef0bc6518beca65 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/UrlRewrite/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/UrlRewrite/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_UrlRewrite** Module. +The Functional Tests Module for **Magento_UrlRewrite** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/UrlRewrite/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/UrlRewrite/composer.json index a8b351fc45b16cea4a2400715f96aeba104fd6d1..b0b8e5ff73a72a9d683a1853f62af29fb0401648 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/UrlRewrite/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/UrlRewrite/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-url-rewrite", - "description": "Magento 2 Acceptance Test Module Url Rewrite", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog-url-rewrite": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-cms-url-rewrite": "dev-master" - }, + "description": "Magento 2 Functional Test Module Url Rewrite", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-url-rewrite": "100.0.0-dev", + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-cms-url-rewrite": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\UrlRewrite\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/UrlRewrite" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/UrlRewrite" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/User/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/User/README.md index 617eb0c0abe7edab7f343f2f3677b2d705c0580d..77e18cd31e81b23acaf942105d3f71458943cd88 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/User/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/User/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_User** Module. +The Functional Tests Module for **Magento_User** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/User/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/User/composer.json index c40a4c122ed8b44a5dd654432ea99568f583ca7b..5263f08825394ba9ac3db597f5e7bbc143616c7c 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/User/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/User/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-user", - "description": "Magento 2 Acceptance Test Module User", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-authorization": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-security": "dev-master", - "magento/magento2-functional-test-module-integration": "dev-master", - "magento/magento2-functional-test-module-email": "dev-master" - }, + "description": "Magento 2 Functional Test Module User", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-authorization": "100.0.0-dev", + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-email": "100.0.0-dev", + "magento/magento2-functional-test-module-integration": "100.0.0-dev", + "magento/magento2-functional-test-module-security": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\User\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/User" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/User" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/LICENSE.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..49525fd99da9c51e6d85420266d41cb3d6b7a648 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/LICENSE_AFL.txt b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/LICENSE_AFL.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39d641b18a19e56df6c8a3e4038c940fb886b32 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0f87c957487ef8fbf576768636c9f68eb204a601 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/README.md @@ -0,0 +1,3 @@ +# Magento 2 Functional Tests + +The Functional Tests Module for **Magento_Usps** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..a4f4b182caecc2adbbaf27bb01204cb80a8be017 --- /dev/null +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps/composer.json @@ -0,0 +1,40 @@ +{ + "name": "magento/magento2-functional-test-module-usps", + "description": "Magento 2 Functional Test Module Usps", + "type": "magento2-test-module", + "version": "100.0.0-dev", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-config": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-shipping": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, + "autoload": { + "psr-4": { + "Magento\\FunctionalTest\\Usps\\": "" + } + }, + "extra": { + "map": [ + [ + "*", + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Usps" + ] + ] + } +} diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Variable/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Variable/README.md index 454eb1e9164ee4ba930fb9e717ed8bf215ad193c..9c847f4db2bdb22d814458d1210797f847e9a1f8 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Variable/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Variable/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Variable** Module. +The Functional Tests Module for **Magento_Variable** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Variable/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Variable/composer.json index 178f0401b9b2e553d2e3f400fd9b72e49f8c5da5..4b38be8f11dfdde5e643ec164c2b33954e6cdbe3 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Variable/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Variable/composer.json @@ -1,51 +1,34 @@ { "name": "magento/magento2-functional-test-module-variable", - "description": "Magento 2 Acceptance Test Module Variable", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-email": "dev-master", - "magento/magento2-functional-test-module-store": "dev-master" - }, + "description": "Magento 2 Functional Test Module Variable", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-email": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Variable\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Variable" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Variable" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Vault/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Vault/README.md index c993e275c54fa9c0758f6a50791127e19039c2c2..9edda871be5505b5bb158ccb6d64210c4af3a37f 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Vault/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Vault/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Vault** Module. +The Functional Tests Module for **Magento_Vault** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Vault/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Vault/composer.json index e1af1518555e4285f23f8c6fb8da3aa5c7014461..c5a28256b7aa5e37a51ad907347303a2c0480bcd 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Vault/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Vault/composer.json @@ -1,54 +1,37 @@ { "name": "magento/magento2-functional-test-module-vault", - "description": "Magento 2 Acceptance Test Module Vault", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-payment": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master" - }, + "description": "Magento 2 Functional Test Module Vault", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-payment": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Vault\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Vault" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Vault" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Version/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Version/README.md index c48f288e7293b82b7ccce1fc8cdb91280d27c19c..ba933541be888a75f2c3b9e1c2fd2789c7a332c0 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Version/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Version/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Version** Module. +The Functional Tests Module for **Magento_Version** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Version/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Version/composer.json index 82387c516accbda6deeb15850bcd69972e016f05..3e222e5641ab6f982e6d89f7b07a8e92bde2cfbf 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Version/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Version/composer.json @@ -1,48 +1,30 @@ { "name": "magento/magento2-functional-test-module-version", - "description": "Magento 2 Acceptance Test Module Version", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, + "description": "Magento 2 Functional Test Module Version", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Version\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Version" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Version" ] ] } } - diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Webapi/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Webapi/README.md index 3c8cf910c0194bdeb10612e9a1cc09a0d29a225c..bb843ce718556fef3daca968aa829284c47360ca 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Webapi/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Webapi/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Webapi** Module. +The Functional Tests Module for **Magento_Webapi** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Webapi/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Webapi/composer.json index af20f4956e2a04d28c9c93a878d8c5aebfa22d09..00916f722e3d6bcdad2e9943aa2e848e93ec89e8 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Webapi/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Webapi/composer.json @@ -1,52 +1,35 @@ { "name": "magento/magento2-functional-test-module-webapi", - "description": "Magento 2 Acceptance Test Module Webapi", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-authorization": "dev-master", - "magento/magento2-functional-test-module-integration": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master" - }, + "description": "Magento 2 Functional Test Module Webapi", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-authorization": "100.0.0-dev", + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-integration": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Webapi\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Webapi" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Webapi" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WebapiSecurity/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WebapiSecurity/README.md index 24a7953393052ddcd8625fc0a206d0a0d76acfd7..25f93d69629243408714c20fdb6df6a78e99a69d 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WebapiSecurity/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WebapiSecurity/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_WebapiSecurity** Module. +The Functional Tests Module for **Magento_WebapiSecurity** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WebapiSecurity/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WebapiSecurity/composer.json index 80cfc405e374748f6281d383c185af06a00119cf..f66e3e65d26d7214ed472a1195a333c670b3da22 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WebapiSecurity/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WebapiSecurity/composer.json @@ -1,49 +1,32 @@ { "name": "magento/magento2-functional-test-module-webapi-security", - "description": "Magento 2 Acceptance Test Module Webapi Security", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-webapi": "dev-master" - }, + "description": "Magento 2 Functional Test Module Webapi Security", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-webapi": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\WebapiSecurity\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/WebapiSecurity" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WebapiSecurity" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Weee/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Weee/README.md index 5166cfc5d4b26bbea43c195313232339a83b9d3c..4f199873079e521e1dc9ee9564753f594701a503 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Weee/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Weee/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Weee** Module. +The Functional Tests Module for **Magento_Weee** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Weee/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Weee/composer.json index 7e3f3eac4247d53a7084c2e2eff701cf16fe2d88..9bc06706ee75ea849ea850763b1452456732ece5 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Weee/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Weee/composer.json @@ -1,60 +1,43 @@ { "name": "magento/magento2-functional-test-module-weee", - "description": "Magento 2 Acceptance Test Module Weee", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-tax": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-directory": "dev-master", - "magento/magento2-functional-test-module-eav": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-page-cache": "dev-master", - "magento/magento2-functional-test-module-quote": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Weee", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-directory": "100.0.0-dev", + "magento/magento2-functional-test-module-eav": "100.0.0-dev", + "magento/magento2-functional-test-module-page-cache": "100.0.0-dev", + "magento/magento2-functional-test-module-quote": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-tax": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Weee\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Weee" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Weee" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Widget/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Widget/README.md index b6fd0b4513bb11aade945a3f1f99dcd9fc97849a..2a8996c2f332278be709185afbda3146cff0576e 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Widget/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Widget/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Widget** Module. +The Functional Tests Module for **Magento_Widget** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Widget/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Widget/composer.json index 7d546965c3a3ff571305032a7aca83e9adbb0357..40445beb03c09ca146d9860bb0c3d37dc17c684a 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Widget/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Widget/composer.json @@ -1,55 +1,38 @@ { "name": "magento/magento2-functional-test-module-widget", - "description": "Magento 2 Acceptance Test Module Widget", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-cms": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-email": "dev-master", - "magento/magento2-functional-test-module-theme": "dev-master", - "magento/magento2-functional-test-module-variable": "dev-master" - }, + "description": "Magento 2 Functional Test Module Widget", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-cms": "100.0.0-dev", + "magento/magento2-functional-test-module-email": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-theme": "100.0.0-dev", + "magento/magento2-functional-test-module-variable": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Widget\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Widget" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Widget" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/Cest/StorefrontDeletePersistedWishlistCest.xml b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/Cest/StorefrontDeletePersistedWishlistCest.xml index b1f452ac565be6f5bf29148c756d51ef24592782..9b21337f94dd9365d2bfa5342f831a1c80e597c9 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/Cest/StorefrontDeletePersistedWishlistCest.xml +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/Cest/StorefrontDeletePersistedWishlistCest.xml @@ -13,45 +13,44 @@ <stories value="Delete a persist wishlist for a customer"/> <env value="chrome"/> <env value="firefox"/> - <env value="phantomjs"/> <group value="wishlist"/> </annotations> <before> - <createData mergeKey="category" entity="SimpleSubCategory"/> - <createData mergeKey="product" entity="SimpleProduct" > + <createData stepKey="category" entity="SimpleSubCategory"/> + <createData stepKey="product" entity="SimpleProduct" > <required-entity createDataKey="category"/> </createData> - <createData mergeKey="customer" entity="Simple_US_Customer"/> - <createData mergeKey="wishlist" entity="Wishlist"> + <createData stepKey="customer" entity="Simple_US_Customer"/> + <createData stepKey="wishlist" entity="Wishlist"> <required-entity createDataKey="customer"/> <required-entity createDataKey="product"/> </createData> </before> <after> - <deleteData mergeKey="deleteProduct" createDataKey="product"/> - <deleteData mergeKey="deleteCategory" createDataKey="category"/> - <deleteData mergeKey="deleteCustomer" createDataKey="customer"/> + <deleteData stepKey="deleteProduct" createDataKey="product"/> + <deleteData stepKey="deleteCategory" createDataKey="category"/> + <deleteData stepKey="deleteCustomer" createDataKey="customer"/> </after> <test name="StorefrontDeletePersistedWishlistTest"> <annotations> <title value="Delete a persist wishlist for a customer"/> <description value="Delete a persist wishlist for a customer"/> </annotations> - <amOnPage mergeKey="amOnSignInPage" url="{{StorefrontCustomerSignInPage.url}}"/> - <fillField mergeKey="fillEmail" userInput="$$customer.email$$" selector="{{StorefrontCustomerSignInFormSection.emailField}}"/> - <fillField mergeKey="fillPassword" userInput="$$customer.password$$" selector="{{StorefrontCustomerSignInFormSection.passwordField}}"/> - <waitForElementVisible mergeKey="waitForButton" selector="{{StorefrontCustomerSignInFormSection.signInAccountButton}}"/> - <click mergeKey="clickSignInAccountButton" selector="{{StorefrontCustomerSignInFormSection.signInAccountButton}}"/> - <see mergeKey="seeFirstName" userInput="$$customer.firstname$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> - <see mergeKey="seeLastName" userInput="$$customer.lastname$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> - <see mergeKey="seeEmail" userInput="$$customer.email$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> - <waitForPageLoad mergeKey="15"/> - <amOnPage mergeKey="amOnWishlist" url="{{StorefrontCustomerWishlistPage.url}}"/> - <see mergeKey="seeWishlist" userInput="$$product.name$$" selector="{{StorefrontCustomerWishlistSection.productItemNameText}}"/> - <moveMouseOver mergeKey="mouseOver" selector="{{StorefrontCustomerWishlistSection.productItemNameText}}"/> - <waitForElementVisible mergeKey="waitForRemoveButton" selector="{{StorefrontCustomerWishlistSection.removeWishlistButton}}"/> - <click mergeKey="clickRemove" selector="{{StorefrontCustomerWishlistSection.removeWishlistButton}}"/> - <see mergeKey="seeEmptyWishlist" userInput="You have no items in your wish list" selector="{{StorefrontCustomerWishlistSection.emptyWishlistText}}"/> + <amOnPage stepKey="amOnSignInPage" url="{{StorefrontCustomerSignInPage.url}}"/> + <fillField stepKey="fillEmail" userInput="$$customer.email$$" selector="{{StorefrontCustomerSignInFormSection.emailField}}"/> + <fillField stepKey="fillPassword" userInput="$$customer.password$$" selector="{{StorefrontCustomerSignInFormSection.passwordField}}"/> + <waitForElementVisible stepKey="waitForButton" selector="{{StorefrontCustomerSignInFormSection.signInAccountButton}}"/> + <click stepKey="clickSignInAccountButton" selector="{{StorefrontCustomerSignInFormSection.signInAccountButton}}"/> + <see stepKey="seeFirstName" userInput="$$customer.firstname$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> + <see stepKey="seeLastName" userInput="$$customer.lastname$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> + <see stepKey="seeEmail" userInput="$$customer.email$$" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}" /> + <waitForPageLoad stepKey="15"/> + <amOnPage stepKey="amOnWishlist" url="{{StorefrontCustomerWishlistPage.url}}"/> + <see stepKey="seeWishlist" userInput="$$product.name$$" selector="{{StorefrontCustomerWishlistSection.productItemNameText}}"/> + <moveMouseOver stepKey="mouseOver" selector="{{StorefrontCustomerWishlistSection.productItemNameText}}"/> + <waitForElementVisible stepKey="waitForRemoveButton" selector="{{StorefrontCustomerWishlistSection.removeWishlistButton}}"/> + <click stepKey="clickRemove" selector="{{StorefrontCustomerWishlistSection.removeWishlistButton}}"/> + <see stepKey="seeEmptyWishlist" userInput="You have no items in your wish list" selector="{{StorefrontCustomerWishlistSection.emptyWishlistText}}"/> </test> </cest> </config> diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/README.md b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/README.md index 53615d4273f736db0aa83dc2be8b738f5232eb5a..d5b0902bd9cb0a7621dc75456b2a58076926c033 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/README.md +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/README.md @@ -1,3 +1,3 @@ -# Magento 2 Acceptance Tests +# Magento 2 Functional Tests -The Acceptance Tests Module for **Magento_Wishlist** Module. +The Functional Tests Module for **Magento_Wishlist** Module. diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/composer.json index cfb79284ec5a72cfcf3bd3232e5243ed1b217ba4..70e8df41e731318f13ac57988cc135323a88b2ac 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist/composer.json @@ -1,57 +1,40 @@ { "name": "magento/magento2-functional-test-module-wishlist", - "description": "Magento 2 Acceptance Test Module Wishlist", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-store": "dev-master", - "magento/magento2-functional-test-module-customer": "dev-master", - "magento/magento2-functional-test-module-catalog": "dev-master", - "magento/magento2-functional-test-module-checkout": "dev-master", - "magento/magento2-functional-test-module-catalog-inventory": "dev-master", - "magento/magento2-functional-test-module-rss": "dev-master", - "magento/magento2-functional-test-module-backend": "dev-master", - "magento/magento2-functional-test-module-sales": "dev-master", - "magento/magento2-functional-test-module-ui": "dev-master" - }, + "description": "Magento 2 Functional Test Module Wishlist", "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-backend": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog": "100.0.0-dev", + "magento/magento2-functional-test-module-catalog-inventory": "100.0.0-dev", + "magento/magento2-functional-test-module-checkout": "100.0.0-dev", + "magento/magento2-functional-test-module-customer": "100.0.0-dev", + "magento/magento2-functional-test-module-rss": "100.0.0-dev", + "magento/magento2-functional-test-module-sales": "100.0.0-dev", + "magento/magento2-functional-test-module-store": "100.0.0-dev", + "magento/magento2-functional-test-module-ui": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\Wishlist\\": "" } }, "extra": { "map": [ [ "*", - "tests/functional/Magento/FunctionalTest/Wishlist" + "dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Wishlist" ] ] } diff --git a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WishlistAnalytics/composer.json b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WishlistAnalytics/composer.json index 19dba845461e7f85927889634087808530377be4..b49a321f44884d12f7e70a0533c65fc0346d9248 100644 --- a/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WishlistAnalytics/composer.json +++ b/dev/tests/acceptance/tests/functional/Magento/FunctionalTest/WishlistAnalytics/composer.json @@ -1,42 +1,25 @@ { "name": "magento/magento2-functional-test-module-wishlist-analytics", "description": "Magento 2 Acceptance Test Module WishlistAnalytics", - "repositories": [ - { - "type" : "composer", - "url" : "https://repo.magento.com/" - } - ], - "require": { - "php": "~7.0", - "codeception/codeception": "2.2|2.3", - "allure-framework/allure-codeception": "dev-master", - "consolidation/robo": "^1.0.0", - "henrikbjorn/lurker": "^1.2", - "vlucas/phpdotenv": "~2.4", - "magento/magento2-functional-testing-framework": "dev-develop" - }, - "suggest": { - "magento/magento2-functional-test-module-wishlist": "dev-master" - }, "type": "magento2-test-module", - "version": "dev-master", + "version": "100.0.0-dev", "license": [ "OSL-3.0", "AFL-3.0" ], + "config": { + "sort-packages": true + }, + "require": { + "magento/magento2-functional-testing-framework": "1.0.0", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0" + }, + "suggest": { + "magento/magento2-functional-test-module-wishlist": "100.0.0-dev" + }, "autoload": { - "psr-0": { - "Yandex": "vendor/allure-framework/allure-codeception/src/" - }, "psr-4": { - "Magento\\FunctionalTestingFramework\\": [ - "vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework" - ], - "Magento\\FunctionalTest\\": [ - "tests/functional/Magento/FunctionalTest", - "generated/Magento/FunctionalTest" - ] + "Magento\\FunctionalTest\\WishlistAnalytics\\": "" } }, "extra": { diff --git a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductAttributeMediaGalleryManagementInterfaceTest.php b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductAttributeMediaGalleryManagementInterfaceTest.php index ca9ad9897bf8ca7850024cd58e4419f7ed2ce371..17bc1226d992ca2d172252934845e52836b13e0a 100644 --- a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductAttributeMediaGalleryManagementInterfaceTest.php +++ b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductAttributeMediaGalleryManagementInterfaceTest.php @@ -609,9 +609,11 @@ class ProductAttributeMediaGalleryManagementInterfaceTest extends \Magento\TestF 'sku' => $productSku, ]; if (TESTS_WEB_API_ADAPTER == self::ADAPTER_SOAP) { - $this->expectException('SoapFault', 'Requested product doesn\'t exist'); + $this->expectException('SoapFault'); + $this->expectExceptionMessage('Requested product doesn\'t exist'); } else { - $this->expectException('Exception', '', 404); + $this->expectException('Exception'); + $this->expectExceptionCode(404); } $this->_webApiCall($serviceInfo, $requestData); } diff --git a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductCustomAttributeWrongTypeTest.php b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductCustomAttributeWrongTypeTest.php index 2dc8d197778989986fef6d598251e73862222ce2..19b0757439077907cf3f18bb62c68ac3b4165569 100644 --- a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductCustomAttributeWrongTypeTest.php +++ b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductCustomAttributeWrongTypeTest.php @@ -43,9 +43,11 @@ class ProductCustomAttributeWrongTypeTest extends WebapiAbstract ]; if (TESTS_WEB_API_ADAPTER == self::ADAPTER_SOAP) { - $this->expectException('Exception', 'Attribute "meta_title" has invalid value.'); + $this->expectException('Exception'); + $this->expectExceptionMessage('Attribute "meta_title" has invalid value.'); } else { - $this->expectException('Exception', 'Attribute \"meta_title\" has invalid value.'); + $this->expectException('Exception'); + $this->expectExceptionMessage('Attribute \"meta_title\" has invalid value.'); } $this->_webApiCall($serviceInfo, $this->getRequestData()); diff --git a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductCustomOptionRepositoryTest.php b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductCustomOptionRepositoryTest.php index a152167a345fa7cc5b2ad1c3e0c65ce7691e699d..34588c9573f984ebd58ccd2e25581419b55c598e 100644 --- a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductCustomOptionRepositoryTest.php +++ b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductCustomOptionRepositoryTest.php @@ -211,12 +211,15 @@ class ProductCustomOptionRepositoryTest extends WebapiAbstract if (TESTS_WEB_API_ADAPTER == self::ADAPTER_SOAP) { if (isset($optionDataPost['title']) && empty($optionDataPost['title'])) { - $this->expectException('SoapFault', 'Missed values for option required fields'); + $this->expectException('SoapFault'); + $this->expectExceptionMessage('Missed values for option required fields'); } else { - $this->expectException('SoapFault', 'Invalid option'); + $this->expectException('SoapFault'); + $this->expectExceptionMessage('Invalid option'); } } else { - $this->expectException('Exception', '', 400); + $this->expectException('Exception'); + $this->expectExceptionMessage('', 400); } $this->_webApiCall($serviceInfo, ['option' => $optionDataPost]); } @@ -388,8 +391,9 @@ class ProductCustomOptionRepositoryTest extends WebapiAbstract * @dataProvider optionNegativeUpdateDataProvider * @param array $optionData * @param string $message + * @param int $exceptionCode */ - public function testUpdateNegative($optionData, $message) + public function testUpdateNegative($optionData, $message, $exceptionCode) { $this->_markTestAsRestOnly(); $productSku = 'simple'; @@ -406,7 +410,9 @@ class ProductCustomOptionRepositoryTest extends WebapiAbstract ], ]; - $this->expectException('Exception', $message, 400); + $this->expectException('Exception'); + $this->expectExceptionMessage($message); + $this->expectExceptionCode($exceptionCode); $this->_webApiCall($serviceInfo, ['option' => $optionData]); } diff --git a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductRepositoryInterfaceTest.php b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductRepositoryInterfaceTest.php index cd9aaa1d95294297a2fbc4c0a3c8f63697ecf750..cb33edce3af39e6e4a11a9e55e56a1bd921e64ba 100644 --- a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductRepositoryInterfaceTest.php +++ b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductRepositoryInterfaceTest.php @@ -313,7 +313,8 @@ class ProductRepositoryInterfaceTest extends WebapiAbstract { $sku = $fixtureProduct[ProductInterface::SKU]; $this->saveProduct($fixtureProduct); - $this->expectException('Exception', 'Requested product doesn\'t exist'); + $this->expectException('Exception'); + $this->expectExceptionMessage('Requested product doesn\'t exist'); // Delete all with 'all' store code $this->deleteProduct($sku); diff --git a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/_files/product_options_update_negative.php b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/_files/product_options_update_negative.php index 1e713424f8047e5532f60294b08a05c3d290dfa3..d819fb5f604bf04c3c8827c6a5a69a0068f59a96 100644 --- a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/_files/product_options_update_negative.php +++ b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/_files/product_options_update_negative.php @@ -5,18 +5,31 @@ */ return [ - 'missed_product_sku' => + 'missing_product_sku' => [ [ - [ - 'title' => 'title', - 'type' => 'field', - 'sort_order' => 1, - 'is_require' => 1, - 'price' => 10.0, - 'price_type' => 'fixed', - 'sku' => 'sku1', - 'max_characters' => 10, - ], - 'ProductSku should be specified', - ] + 'title' => 'title', + 'type' => 'field', + 'sort_order' => 1, + 'is_require' => 1, + 'price' => 10.0, + 'price_type' => 'fixed', + 'max_characters' => 10, + ], + 'ProductSku should be specified', + 400 + ], + 'invalid_product_sku' => [ + [ + 'title' => 'title', + 'type' => 'field', + 'sort_order' => 1, + 'is_require' => 1, + 'price' => 10.0, + 'price_type' => 'fixed', + 'product_sku' => 'sku1', + 'max_characters' => 10, + ], + 'Requested product doesn\'t exist', + 404 + ], ]; diff --git a/dev/tests/api-functional/testsuite/Magento/Customer/Api/AccountManagementTest.php b/dev/tests/api-functional/testsuite/Magento/Customer/Api/AccountManagementTest.php index 48cc8b8384d74cb8bb065c1ee3c9e755aa3896e8..452a59d7e702c85865ed6589f18ae4d82fc4831c 100644 --- a/dev/tests/api-functional/testsuite/Magento/Customer/Api/AccountManagementTest.php +++ b/dev/tests/api-functional/testsuite/Magento/Customer/Api/AccountManagementTest.php @@ -8,16 +8,12 @@ namespace Magento\Customer\Api; use Magento\Customer\Api\Data\CustomerInterface as Customer; use Magento\Customer\Model\AccountManagement; use Magento\Framework\Exception\InputException; -use Magento\Framework\Exception\NoSuchEntityException; +use Magento\Framework\Webapi\Exception as HTTPExceptionCodes; +use Magento\Newsletter\Model\Subscriber; +use Magento\Security\Model\Config; use Magento\TestFramework\Helper\Bootstrap; use Magento\TestFramework\Helper\Customer as CustomerHelper; use Magento\TestFramework\TestCase\WebapiAbstract; -use Magento\Framework\Webapi\Exception as HTTPExceptionCodes; -use Magento\Security\Model\Config; -use Magento\Newsletter\Model\Plugin\CustomerPlugin; -use Magento\Framework\Webapi\Rest\Request as RestRequest; -use Magento\Newsletter\Model\Subscriber; -use Magento\Customer\Model\Data\Customer as CustomerData; /** * Test class for Magento\Customer\Api\AccountManagementInterface @@ -112,16 +108,16 @@ class AccountManagementTest extends WebapiAbstract $this->initSubscriber(); if ($this->config->getConfigDataValue( - Config::XML_PATH_FRONTED_AREA . + Config::XML_PATH_FRONTEND_AREA . Config::XML_PATH_PASSWORD_RESET_PROTECTION_TYPE ) != 0) { $this->configValue = $this->config ->getConfigDataValue( - Config::XML_PATH_FRONTED_AREA . + Config::XML_PATH_FRONTEND_AREA . Config::XML_PATH_PASSWORD_RESET_PROTECTION_TYPE ); $this->config->setDataByPath( - Config::XML_PATH_FRONTED_AREA . Config::XML_PATH_PASSWORD_RESET_PROTECTION_TYPE, + Config::XML_PATH_FRONTEND_AREA . Config::XML_PATH_PASSWORD_RESET_PROTECTION_TYPE, 0 ); $this->config->save(); @@ -150,7 +146,7 @@ class AccountManagementTest extends WebapiAbstract } } $this->config->setDataByPath( - Config::XML_PATH_FRONTED_AREA . Config::XML_PATH_PASSWORD_RESET_PROTECTION_TYPE, + Config::XML_PATH_FRONTEND_AREA . Config::XML_PATH_PASSWORD_RESET_PROTECTION_TYPE, $this->configValue ); $this->config->save(); diff --git a/dev/tests/api-functional/testsuite/Magento/Webapi/Routing/CoreRoutingTest.php b/dev/tests/api-functional/testsuite/Magento/Webapi/Routing/CoreRoutingTest.php index 89533a0a624745a69b3b9ddbe6591e868b1a96ff..23b889c7c125140dbfca2d40966a608799ad0b7b 100644 --- a/dev/tests/api-functional/testsuite/Magento/Webapi/Routing/CoreRoutingTest.php +++ b/dev/tests/api-functional/testsuite/Magento/Webapi/Routing/CoreRoutingTest.php @@ -73,7 +73,8 @@ class CoreRoutingTest extends \Magento\Webapi\Routing\BaseService 'operation' => 'testModule3ErrorV1ServiceException', ], ]; - $this->expectException('SoapFault', 'Generic service exception'); + $this->expectException('SoapFault'); + $this->expectExceptionMessage('Generic service exception'); $this->_webApiCall($serviceInfo); } diff --git a/dev/tests/functional/composer.json b/dev/tests/functional/composer.json index f58a38bd01de370bf36f863920407c5665e0e812..05ef221a0940f4564b0b00591f658a25f0578b86 100644 --- a/dev/tests/functional/composer.json +++ b/dev/tests/functional/composer.json @@ -1,10 +1,14 @@ { + "config": { + "sort-packages": true + }, "require": { - "magento/mtf": "1.0.0-rc57", "php": "7.0.2|~7.0.6|~7.1.0", + "allure-framework/allure-phpunit": "~1.2.0", + "magento/mtf": "1.0.0-rc57", + "allure-framework/allure-phpunit": "~1.2.0", "phpunit/phpunit": "~4.8.0|~5.5.0", - "phpunit/phpunit-selenium": ">=1.2", - "allure-framework/allure-phpunit": "~1.2.0" + "phpunit/phpunit-selenium": ">=1.2" }, "suggest": { "netwing/selenium-server-standalone": "dev-master", diff --git a/dev/tests/functional/etc/events.xml b/dev/tests/functional/etc/events.xml index 5be0f8e7d4e9c1f45026b17c1a1c30f30514ac09..5f6a771237a8155f9ccb81f5c1be8159eac2fb5f 100644 --- a/dev/tests/functional/etc/events.xml +++ b/dev/tests/functional/etc/events.xml @@ -11,6 +11,11 @@ <tag name="webapi_failed" /> </observer> </preset> + <preset name="allure"> + <observer class="Magento\Mtf\System\Observer\AllureWebapiResponse"> + <tag name="webapi_failed" /> + </observer> + </preset> <preset name="coverage" extends="base"> <observer class="Magento\Mtf\System\Observer\PageUrl"> <tag name="click_after"/> diff --git a/dev/tests/functional/lib/Magento/Mtf/System/Observer/AllureWebapiResponse.php b/dev/tests/functional/lib/Magento/Mtf/System/Observer/AllureWebapiResponse.php new file mode 100644 index 0000000000000000000000000000000000000000..bda514ad9fa856f95623f0b803116232cc12540f --- /dev/null +++ b/dev/tests/functional/lib/Magento/Mtf/System/Observer/AllureWebapiResponse.php @@ -0,0 +1,30 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Mtf\System\Observer; + +use Magento\Mtf\System\Event\Event; + +/** + * AllureWebapiResponse observer. + */ +class AllureWebapiResponse extends AbstractAllureObserver +{ + /** + * Collect response source artifact to storage. + * + * @param Event $event + * @return void + */ + public function process(Event $event) + { + $this->addAttachment( + json_encode($event->getSubjects()[0]), + 'webapi-response-' . $event->getFileIdentifier(), + 'text/json' + ); + } +} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertFilterProductList.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertFilterProductList.php index ea80e5ac224808cb125054c8f69bb48455516ffd..19de61c698701525369af97ccadd01bb3e4ca3a7 100644 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertFilterProductList.php +++ b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertFilterProductList.php @@ -3,7 +3,6 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ - namespace Magento\LayeredNavigation\Test\Constraint; use Magento\Catalog\Test\Fixture\Category; diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertProductsCount.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertProductsCount.php new file mode 100644 index 0000000000000000000000000000000000000000..7c9a1f4faef1663af977b2fc3bbca99c012e13b7 --- /dev/null +++ b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertProductsCount.php @@ -0,0 +1,99 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\LayeredNavigation\Test\Constraint; + +use Magento\Catalog\Test\Fixture\Category; +use Magento\Catalog\Test\Page\Category\CatalogCategoryView; +use Magento\Mtf\Client\BrowserInterface; +use Magento\Mtf\Constraint\AbstractConstraint; + +/** + * Assertion that category name and products qty are correct in category layered navigation + */ +class AssertProductsCount extends AbstractConstraint +{ + /** + * Browser instance. + * + * @var BrowserInterface + */ + private $browser; + + /** + * Catalog category view page. + * + * @var CatalogCategoryView $catalogCategoryView + */ + private $catalogCategoryView; + + /** + * Assert that category name and products cont in layered navigation are correct + * + * @param CatalogCategoryView $catalogCategoryView + * @param Category $category + * @param BrowserInterface $browser + * @param string $productsCount + * @return void + */ + public function processAssert( + CatalogCategoryView $catalogCategoryView, + Category $category, + BrowserInterface $browser, + $productsCount + ) { + $this->browser = $browser; + $this->catalogCategoryView = $catalogCategoryView; + while ($category) { + $parentCategory = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); + if ($parentCategory && $parentCategory->getData('is_anchor') == 'No') { + $this->openCategory($parentCategory); + \PHPUnit_Framework_Assert::assertTrue( + $this->catalogCategoryView->getLayeredNavigationBlock()->isCategoryVisible( + $category, + $productsCount + ), + 'Category ' . $category->getName() . ' is absent in Layered Navigation or products count is wrong' + ); + } + $category = $parentCategory; + } + } + + /** + * Open category. + * + * @param Category $category + * @return void + */ + private function openCategory(Category $category) + { + $categoryUrlKey = []; + + while ($category) { + $categoryUrlKey[] = $category->hasData('url_key') + ? strtolower($category->getUrlKey()) + : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-'); + + $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); + if ($category !== null && 1 == $category->getParentId()) { + $category = null; + } + } + $categoryUrlKey = $_ENV['app_frontend_url'] . implode('/', array_reverse($categoryUrlKey)) . '.html'; + + $this->browser->open($categoryUrlKey); + } + + /** + * Assert success message that category is present in layered navigation and product is visible in product grid. + * + * @return string + */ + public function toString() + { + return 'Category is present in layered navigation and product is visible in product grid.'; + } +} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Repository/Category.xml b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Repository/Category.xml new file mode 100644 index 0000000000000000000000000000000000000000..7799faf309ccfc3492feecf210cf2d981acdd568 --- /dev/null +++ b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Repository/Category.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" ?> +<!-- +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> + <repository class="Magento\Catalog\Test\Repository\Category"> + <dataset name="default_non_anchored_subcategory"> + <field name="name" xsi:type="string">DefaultSubcategory%isolation%</field> + <field name="url_key" xsi:type="string">default-subcategory-%isolation%</field> + <field name="parent_id" xsi:type="array"> + <item name="dataset" xsi:type="string">default_category</item> + </field> + <field name="is_active" xsi:type="string">Yes</field> + <field name="is_anchor" xsi:type="string">No</field> + <field name="include_in_menu" xsi:type="string">Yes</field> + </dataset> + + <dataset name="default_second_level_anchored_subcategory"> + <field name="name" xsi:type="string">DefaultSubcategory%isolation%</field> + <field name="url_key" xsi:type="string">default-subcategory-%isolation%</field> + <field name="parent_id" xsi:type="array"> + <item name="dataset" xsi:type="string">default_non_anchored_subcategory</item> + </field> + <field name="is_active" xsi:type="string">Yes</field> + <field name="is_anchor" xsi:type="string">Yes</field> + <field name="include_in_menu" xsi:type="string">Yes</field> + </dataset> + + <dataset name="default_third_level_non_anchored_subcategory"> + <field name="name" xsi:type="string">DefaultSubcategory%isolation%</field> + <field name="url_key" xsi:type="string">default-subcategory-%isolation%</field> + <field name="parent_id" xsi:type="array"> + <item name="dataset" xsi:type="string">default_second_level_anchored_subcategory</item> + </field> + <field name="is_active" xsi:type="string">Yes</field> + <field name="is_anchor" xsi:type="string">No</field> + <field name="include_in_menu" xsi:type="string">Yes</field> + </dataset> + + <dataset name="default_fourth_level_anchored_subcategory"> + <field name="name" xsi:type="string">DefaultSubcategory%isolation%</field> + <field name="url_key" xsi:type="string">default-subcategory-%isolation%</field> + <field name="parent_id" xsi:type="array"> + <item name="dataset" xsi:type="string">default_third_level_non_anchored_subcategory</item> + </field> + <field name="is_active" xsi:type="string">Yes</field> + <field name="is_anchor" xsi:type="string">Yes</field> + <field name="include_in_menu" xsi:type="string">Yes</field> + </dataset> + </repository> +</config> diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.php new file mode 100644 index 0000000000000000000000000000000000000000..179f9ef2579093184c9f452e9272a01b45900e50 --- /dev/null +++ b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.php @@ -0,0 +1,121 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\LayeredNavigation\Test\TestCase; + +use Magento\Catalog\Test\Fixture\Category; +use Magento\Mtf\TestCase\Injectable; +use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit; +use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; +use Magento\Mtf\Fixture\FixtureFactory; + +/** + * Preconditions: + * 1. Create four categories assigned in ascending order (Default Category->first->second->third->fourth) + * first and third categories should not be anchored, second and fourth categories should be anchored + * 2. Create configurable product with two configurable options and assign it to category "fourth" + * + * Steps: + * 1. Disable configurable options via massaction or from edit product page + * 2. Open created non anchored categories on frontend + * 3. Perform assertions + * + * @group Layered_Navigation + * @ZephyrId MAGETWO-82891 + */ +class ProductsCountInLayeredNavigationTest extends Injectable +{ + /** + * Product page with a grid + * + * @var CatalogProductIndex + */ + protected $catalogProductIndex; + + /** + * Page to update a product + * + * @var CatalogProductEdit + */ + protected $editProductPage; + + /** + * Fixture factory + * + * @var FixtureFactory + */ + protected $fixtureFactory; + + /** + * Injection data + * + * @param CatalogProductIndex $catalogProductIndex + * @param CatalogProductEdit $editProductPage + * @param FixtureFactory $fixtureFactory + * @return void + */ + public function __inject( + CatalogProductIndex $catalogProductIndex, + CatalogProductEdit $editProductPage, + FixtureFactory $fixtureFactory + ) { + $this->catalogProductIndex = $catalogProductIndex; + $this->editProductPage = $editProductPage; + $this->fixtureFactory = $fixtureFactory; + } + + /** + * Test category name and products count displaying in layered navigation after configurable options disabling + * + * @param Category $category + * @param boolean $disableFromProductsGreed + * @return array + */ + public function test( + Category $category, + $disableFromProductsGreed = true + ) { + // Preconditions + $category->persist(); + // Steps + $products = $category->getDataFieldConfig('category_products')['source']->getProducts(); + $configurableOptions = []; + /** @var \Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct\ $product */ + foreach ($products as $product) { + $configurableOptions = array_merge( + $configurableOptions, + $product->getConfigurableAttributesData()['matrix'] + ); + } + // Disable configurable options + if ($disableFromProductsGreed) { + $this->catalogProductIndex->open(); + $this->catalogProductIndex->getProductGrid()->massaction( + array_map( + function ($assignedProduct) { + return ['sku' => $assignedProduct['sku']]; + }, + $configurableOptions + ), + ['Change status' => 'Disable'] + ); + } else { + $productToDisable = $this->fixtureFactory->createByCode( + 'catalogProductSimple', + ['data' => ['status' => 'No']] + ); + foreach ($configurableOptions as $configurableOption) { + $filter = ['sku' => $configurableOption['sku']]; + $this->catalogProductIndex->open(); + $this->catalogProductIndex->getProductGrid()->searchAndOpen($filter); + $this->editProductPage->getProductForm()->fill($productToDisable); + $this->editProductPage->getFormPageActions()->save(); + } + } + return [ + 'products' => $configurableOptions + ]; + } +} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.xml b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.xml new file mode 100644 index 0000000000000000000000000000000000000000..41e18e64540970783c931e392c40c80c96c5c7f4 --- /dev/null +++ b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> + <testCase name="Magento\LayeredNavigation\Test\TestCase\ProductsCountInLayeredNavigationTest" summary="Check configurable products count in child categories of non-anchor category" ticketId="MAGETWO-82891"> + <variation name="ProductsCountInLayeredNavigationTestVariation1" summary="Check configurable products count with disabled by massaction products"> + <data name="runReindex" xsi:type="boolean">true</data> + <data name="flushCache" xsi:type="boolean">true</data> + <data name="category/dataset" xsi:type="string">default_fourth_level_anchored_subcategory</data> + <data name="category/data/category_products/dataset" xsi:type="string">configurableProduct::product_with_size</data> + <data name="productsCount" xsi:type="string">0</data> + <data name="disableFromProductsGreed" xsi:type="boolean">true</data> + <constraint name="Magento\LayeredNavigation\Test\Constraint\AssertProductsCount" /> + </variation> + <variation name="ProductsCountInLayeredNavigationTestVariation2" summary="Check configurable products count with disabled from edit page products"> + <data name="runReindex" xsi:type="boolean">true</data> + <data name="flushCache" xsi:type="boolean">true</data> + <data name="category/dataset" xsi:type="string">default_fourth_level_anchored_subcategory</data> + <data name="category/data/category_products/dataset" xsi:type="string">configurableProduct::product_with_size</data> + <data name="productsCount" xsi:type="string">0</data> + <data name="disableFromProductsGreed" xsi:type="boolean">false</data> + <constraint name="Magento\LayeredNavigation\Test\Constraint\AssertProductsCount" /> + </variation> + </testCase> +</config> diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Bootstrap/SettingsTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Bootstrap/SettingsTest.php index aefe51f6ab37c94ed3aa2f1c10309295eec0c4c9..9964ec7f8c508414c7a13f0716b896694f014e09 100644 --- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Bootstrap/SettingsTest.php +++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Bootstrap/SettingsTest.php @@ -199,7 +199,8 @@ class SettingsTest extends \PHPUnit\Framework\TestCase */ public function testGetAsConfigFileException($settingName, $expectedExceptionMsg) { - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, $expectedExceptionMsg); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage((string)$expectedExceptionMsg); $this->_object->getAsConfigFile($settingName); } diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Plugin/Model/AttributeSetRepository/RemoveProductsTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Plugin/Model/AttributeSetRepository/RemoveProductsTest.php new file mode 100644 index 0000000000000000000000000000000000000000..4e8eaf70824db513958f25e29947dc8ad0907912 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Catalog/Plugin/Model/AttributeSetRepository/RemoveProductsTest.php @@ -0,0 +1,68 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Catalog\Plugin\Model\AttributeSetRepository; + +use Magento\Catalog\Api\ProductRepositoryInterface; +use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; +use Magento\Eav\Api\AttributeSetRepositoryInterface; +use Magento\Eav\Model\Entity\Attribute\Set; +use Magento\TestFramework\Helper\Bootstrap; +use Magento\TestFramework\Interception\PluginList; +use Magento\UrlRewrite\Model\ResourceModel\UrlRewriteCollectionFactory; +use PHPUnit\Framework\TestCase; + +/** + * Provide tests for RemoveProducts plugin. + * @magentoAppArea adminhtml + */ +class RemoveProductsTest extends TestCase +{ + /** + * @return void + */ + public function testRemoveProductsIsRegistered() + { + $pluginInfo = Bootstrap::getObjectManager()->get(PluginList::class) + ->get(AttributeSetRepositoryInterface::class, []); + self::assertSame(RemoveProducts::class, $pluginInfo['remove_products']['instance']); + } + + /** + * Test related to given attribute set products will be removed, if attribute set will be deleted. + * + * @magentoDataFixture Magento/Catalog/_files/attribute_set_with_product.php + */ + public function testAfterDelete() + { + $attributeSet = Bootstrap::getObjectManager()->get(Set::class); + $attributeSet->load('empty_attribute_set', 'attribute_set_name'); + + $productRepository = Bootstrap::getObjectManager()->get(ProductRepositoryInterface::class); + $product = $productRepository->get('simple'); + + $productCollection = Bootstrap::getObjectManager()->get(CollectionFactory::class)->create(); + $productCollection->addIdFilter($product->getId()); + $urlRewriteCollection = Bootstrap::getObjectManager()->get(UrlRewriteCollectionFactory::class)->create(); + $urlRewriteCollection->addFieldToFilter('entity_type', 'product'); + $urlRewriteCollection->addFieldToFilter('entity_id', $product->getId()); + + self::assertSame(1, $urlRewriteCollection->getSize()); + self::assertSame(1, $productCollection->getSize()); + + $attributeSetRepository = Bootstrap::getObjectManager()->get(AttributeSetRepositoryInterface::class); + $attributeSetRepository->deleteById($attributeSet->getAttributeSetId()); + + $productCollection = Bootstrap::getObjectManager()->get(CollectionFactory::class)->create(); + $productCollection->addIdFilter($product->getId()); + $urlRewriteCollection = Bootstrap::getObjectManager()->get(UrlRewriteCollectionFactory::class)->create(); + $urlRewriteCollection->addFieldToFilter('entity_type', 'product'); + $urlRewriteCollection->addFieldToFilter('entity_id', $product->getId()); + + self::assertSame(0, $urlRewriteCollection->getSize()); + self::assertSame(0, $productCollection->getSize()); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Catalog/_files/attribute_set_with_product.php b/dev/tests/integration/testsuite/Magento/Catalog/_files/attribute_set_with_product.php new file mode 100644 index 0000000000000000000000000000000000000000..95f277c7124bd83389452bd933e7fd0e94cac862 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Catalog/_files/attribute_set_with_product.php @@ -0,0 +1,11 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +require __DIR__ . '/../../Eav/_files/empty_attribute_set.php'; +require __DIR__ . '/../../Catalog/_files/product_simple.php'; + +$product->setAttributeSetId($attributeSet->getId()); +$product->save(); diff --git a/dev/tests/integration/testsuite/Magento/Catalog/_files/attribute_set_with_product_rollback.php b/dev/tests/integration/testsuite/Magento/Catalog/_files/attribute_set_with_product_rollback.php new file mode 100644 index 0000000000000000000000000000000000000000..cd579bdb76f57d44e13bae3963f0f74a8227dff4 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Catalog/_files/attribute_set_with_product_rollback.php @@ -0,0 +1,8 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +require __DIR__ . '/../../Catalog/_files/product_simple_rollback.php'; +require __DIR__ . '/../../Eav/_files/empty_attribute_set_rollback.php'; diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Model/Indexer/FulltextTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Model/Indexer/FulltextTest.php index 29d1547f2d872f0764fb0ad5dbd10f8efcf02f9e..da2fc4498718b6b07342e9e2c37eced0e88f24b5 100644 --- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Model/Indexer/FulltextTest.php +++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Model/Indexer/FulltextTest.php @@ -6,12 +6,14 @@ namespace Magento\CatalogSearch\Model\Indexer; use Magento\Catalog\Model\Product; +use Magento\Catalog\Model\Product\Visibility; use Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection; use Magento\TestFramework\Helper\Bootstrap; /** * @magentoDbIsolation disabled * @magentoDataFixture Magento/CatalogSearch/_files/indexer_fulltext.php + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class FulltextTest extends \PHPUnit\Framework\TestCase { @@ -186,13 +188,42 @@ class FulltextTest extends \PHPUnit\Framework\TestCase $this->assertCount(4, $products); } + /** + * Test the case when the last child product of the configurable becomes disabled/out of stock. + * + * Such behavior should enforce parent product to be deleted from the index as its latest child become unavailable + * and the configurable cannot be sold anymore. + * + * @magentoAppArea adminhtml + * @magentoDataFixture Magento/CatalogSearch/_files/product_configurable_with_single_child.php + */ + public function testReindexParentProductWhenChildBeingDisabled() + { + $this->indexer->reindexAll(); + + $visibilityFilter = [ + Visibility::VISIBILITY_IN_SEARCH, + Visibility::VISIBILITY_IN_CATALOG, + Visibility::VISIBILITY_BOTH + ]; + $products = $this->search('Configurable', $visibilityFilter); + $this->assertCount(1, $products); + + $childProduct = $this->getProductBySku('configurable_option_single_child'); + $childProduct->setStatus(Product\Attribute\Source\Status::STATUS_DISABLED)->save(); + + $products = $this->search('Configurable', $visibilityFilter); + $this->assertCount(0, $products); + } + /** * Search the text and return result collection * * @param string $text + * @param null|array $visibilityFilter * @return Product[] */ - protected function search($text) + protected function search($text, $visibilityFilter = null) { $this->resourceFulltext->resetSearchResults(); $query = $this->queryFactory->get(); @@ -207,6 +238,10 @@ class FulltextTest extends \PHPUnit\Framework\TestCase ] ); $collection->addSearchFilter($text); + if (null !== $visibilityFilter) { + $collection->setVisibility($visibilityFilter); + } + foreach ($collection as $product) { $products[] = $product; } diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/_files/product_configurable_with_single_child.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/_files/product_configurable_with_single_child.php new file mode 100644 index 0000000000000000000000000000000000000000..5172ea94e53748ed708b6b268e8a79371b072be1 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/_files/product_configurable_with_single_child.php @@ -0,0 +1,101 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +use Magento\Catalog\Api\ProductRepositoryInterface; +use Magento\Catalog\Model\Product; +use Magento\Catalog\Model\Product\Attribute\Source\Status; +use Magento\Catalog\Model\Product\Type; +use Magento\Catalog\Model\Product\Visibility; +use Magento\Catalog\Setup\CategorySetup; +use Magento\CatalogInventory\Api\Data\StockItemInterface; +use Magento\ConfigurableProduct\Helper\Product\Options\Factory; +use Magento\ConfigurableProduct\Model\Product\Type\Configurable; +use Magento\Eav\Api\Data\AttributeOptionInterface; +use Magento\TestFramework\Helper\Bootstrap; + +Bootstrap::getInstance()->reinitialize(); + +require __DIR__ . '/../../../Magento/ConfigurableProduct/_files/configurable_attribute.php'; + +/** @var ProductRepositoryInterface $productRepository */ +$productRepository = Bootstrap::getObjectManager() + ->create(ProductRepositoryInterface::class); + +/** @var $installer CategorySetup */ +$installer = Bootstrap::getObjectManager()->create(CategorySetup::class); + +/* Create simple products per each option value*/ +/** @var AttributeOptionInterface[] $options */ +$options = $attribute->getOptions(); + +$attributeValues = []; +$attributeSetId = $installer->getAttributeSetId('catalog_product', 'Default'); +$productsSku = [1410]; +array_shift($options); //remove the first option which is empty + +$option = reset($options); + +/** @var $childProduct Product */ +$childProduct = Bootstrap::getObjectManager()->create(Product::class); +$productSku = array_shift($productsSku); +$childProduct->setTypeId(Type::TYPE_SIMPLE) + ->setAttributeSetId($attributeSetId) + ->setName('Configurable Product Option' . $option->getLabel()) + ->setSku('configurable_option_single_child') + ->setPrice(11) + ->setTestConfigurable($option->getValue()) + ->setVisibility(Visibility::VISIBILITY_NOT_VISIBLE) + ->setStatus(Status::STATUS_ENABLED); +$childProduct = $productRepository->save($childProduct); + +/** @var StockItemInterface $stockItem */ +$stockItem = $childProduct->getExtensionAttributes()->getStockItem(); +$stockItem->setUseConfigManageStock(1)->setIsInStock(true)->setQty(100)->setIsQtyDecimal(0); + +$childProduct = $productRepository->save($childProduct); + +$attributeValues[] = [ + 'label' => 'test', + 'attribute_id' => $attribute->getId(), + 'value_index' => $option->getValue(), +]; + +/** @var $product Product */ +$configurableProduct = Bootstrap::getObjectManager()->create(Product::class); + +/** @var Factory $optionsFactory */ +$optionsFactory = Bootstrap::getObjectManager()->create(Factory::class); + +$configurableAttributesData = [ + [ + 'attribute_id' => $attribute->getId(), + 'code' => $attribute->getAttributeCode(), + 'label' => $attribute->getStoreLabel(), + 'position' => '0', + 'values' => $attributeValues, + ], +]; + +$configurableOptions = $optionsFactory->create($configurableAttributesData); + +$extensionConfigurableAttributes = $configurableProduct->getExtensionAttributes(); +$extensionConfigurableAttributes->setConfigurableProductOptions($configurableOptions); +$extensionConfigurableAttributes->setConfigurableProductLinks([$childProduct->getId()]); + +$configurableProduct->setExtensionAttributes($extensionConfigurableAttributes); + +$configurableProduct->setTypeId(Configurable::TYPE_CODE) + ->setAttributeSetId($attributeSetId) + ->setName('Configurable Product with single child') + ->setSku('configurable_with_single_child') + ->setVisibility(Visibility::VISIBILITY_BOTH) + ->setStatus(Status::STATUS_ENABLED); +$configurableProduct = $productRepository->save($configurableProduct); + +/** @var StockItemInterface $stockItem */ +$stockItem = $configurableProduct->getExtensionAttributes()->getStockItem(); +$stockItem->setUseConfigManageStock(1)->setIsInStock(1); + +$productRepository->save($configurableProduct); diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/_files/product_configurable_with_single_child_rollback.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/_files/product_configurable_with_single_child_rollback.php new file mode 100644 index 0000000000000000000000000000000000000000..85a72789e7fd3ae5941328fbe515ca17e64eb2b0 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/_files/product_configurable_with_single_child_rollback.php @@ -0,0 +1,34 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +use Magento\Catalog\Api\Data\ProductInterface; +use Magento\Framework\Api\SearchCriteriaBuilder; +use Magento\TestFramework\Helper\Bootstrap; + +$objectManager = Bootstrap::getObjectManager(); + +/** @var \Magento\Framework\Registry $registry */ +$registry = $objectManager->get(\Magento\Framework\Registry::class); + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', true); + +/** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */ +$productRepository = Bootstrap::getObjectManager() + ->get(\Magento\Catalog\Api\ProductRepositoryInterface::class); + +$productSkus = ['configurable_option_single_child', 'configurable_with_single_child']; +/** @var SearchCriteriaBuilder $searchCriteriaBuilder */ +$searchCriteriaBuilder = Bootstrap::getObjectManager()->get(SearchCriteriaBuilder::class); +$searchCriteriaBuilder->addFilter(ProductInterface::SKU, $productSkus, 'in'); +$result = $productRepository->getList($searchCriteriaBuilder->create()); +foreach ($result->getItems() as $product) { + $productRepository->delete($product); +} + +require __DIR__ . '/../../../Magento/Framework/Search/_files/configurable_attribute_rollback.php'; + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', false); diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Index/ResetPasswordTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Index/ResetPasswordTest.php index fcbe7c51066171f68287f361f4b0c4e76dd22129..b5ca783d68cf2d115198a91528d512e96ea15886 100644 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Index/ResetPasswordTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Index/ResetPasswordTest.php @@ -20,10 +20,11 @@ class ResetPasswordTest extends \Magento\TestFramework\TestCase\AbstractBackendC protected $baseControllerUrl = 'http://localhost/index.php/backend/customer/index/'; /** - * Checks reset password functionality with default settings and customer reset request event. + * Checks reset password functionality with no restrictive settings and customer reset request event. + * Admin is not affected by this security check, so reset password email must be sent. * - * @magentoConfigFixture current_store admin/security/limit_password_reset_requests_method 1 - * @magentoConfigFixture current_store admin/security/min_time_between_password_reset_requests 10 + * @magentoConfigFixture current_store customer/password/limit_password_reset_requests_method 0 + * @magentoConfigFixture current_store customer/password/min_time_between_password_reset_requests 0 * @magentoDataFixture Magento/Customer/_files/customer.php */ public function testResetPasswordSuccess() @@ -40,11 +41,57 @@ class ResetPasswordTest extends \Magento\TestFramework\TestCase\AbstractBackendC $this->assertRedirect($this->stringStartsWith($this->baseControllerUrl . 'edit')); } + /** + * Checks reset password functionality with default restrictive min time between + * password reset requests and customer reset request event. + * Admin is not affected by this security check, so reset password email must be sent. + * + * @magentoConfigFixture current_store customer/password/max_number_password_reset_requests 0 + * @magentoConfigFixture current_store customer/password/min_time_between_password_reset_requests 10 + * @magentoDataFixture Magento/Customer/_files/customer.php + */ + public function testResetPasswordMinTimeError() + { + $this->passwordResetRequestEventCreate( + \Magento\Security\Model\PasswordResetRequestEvent::CUSTOMER_PASSWORD_RESET_REQUEST + ); + $this->getRequest()->setPostValue(['customer_id' => '1']); + $this->dispatch('backend/customer/index/resetPassword'); + $this->assertSessionMessages( + $this->equalTo(['The customer will receive an email with a link to reset password.']), + \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS + ); + $this->assertRedirect($this->stringStartsWith($this->baseControllerUrl . 'edit')); + } + + /** + * Checks reset password functionality with default restrictive limited number + * password reset requests and customer reset request event. + * Admin is not affected by this security check, so reset password email must be sent. + * + * @magentoConfigFixture current_store customer/password/max_number_password_reset_requests 1 + * @magentoConfigFixture current_store customer/password/min_time_between_password_reset_requests 0 + * @magentoDataFixture Magento/Customer/_files/customer.php + */ + public function testResetPasswordLimitError() + { + $this->passwordResetRequestEventCreate( + \Magento\Security\Model\PasswordResetRequestEvent::CUSTOMER_PASSWORD_RESET_REQUEST + ); + $this->getRequest()->setPostValue(['customer_id' => '1']); + $this->dispatch('backend/customer/index/resetPassword'); + $this->assertSessionMessages( + $this->equalTo(['The customer will receive an email with a link to reset password.']), + \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS + ); + $this->assertRedirect($this->stringStartsWith($this->baseControllerUrl . 'edit')); + } + /** * Checks reset password functionality with default settings, customer and admin reset request events. * - * @magentoConfigFixture current_store admin/security/limit_password_reset_requests_method 1 - * @magentoConfigFixture current_store admin/security/min_time_between_password_reset_requests 10 + * @magentoConfigFixture current_store customer/password/limit_password_reset_requests_method 1 + * @magentoConfigFixture current_store customer/password/min_time_between_password_reset_requests 10 * @magentoConfigFixture current_store contact/email/recipient_email hello@example.com * @magentoDataFixture Magento/Customer/_files/customer.php */ @@ -59,10 +106,8 @@ class ResetPasswordTest extends \Magento\TestFramework\TestCase\AbstractBackendC $this->getRequest()->setPostValue(['customer_id' => '1']); $this->dispatch('backend/customer/index/resetPassword'); $this->assertSessionMessages( - $this->equalTo( - ['Too many password reset requests. Please wait and try again or contact hello@example.com.'] - ), - \Magento\Framework\Message\MessageInterface::TYPE_ERROR + $this->equalTo(['The customer will receive an email with a link to reset password.']), + \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS ); $this->assertRedirect($this->stringStartsWith($this->baseControllerUrl . 'edit')); } diff --git a/dev/tests/integration/testsuite/Magento/Framework/View/Design/Fallback/RulePoolTest.php b/dev/tests/integration/testsuite/Magento/Framework/View/Design/Fallback/RulePoolTest.php index 1500c91478a4a05b4a9f4ccae5d48c82f5a05ff3..c586c68b74573da504c9f7c9d36cf2566034eaec 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/View/Design/Fallback/RulePoolTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/View/Design/Fallback/RulePoolTest.php @@ -74,7 +74,8 @@ class RulePoolTest extends \PHPUnit\Framework\TestCase */ public function testGetPatternDirsException($type, array $overriddenParams, $expectedErrorMessage) { - $this->expectException('InvalidArgumentException', $expectedErrorMessage); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage($expectedErrorMessage); $params = $overriddenParams + $this->defaultParams; $this->model->getRule($type)->getPatternDirs($params); } diff --git a/dev/tests/integration/testsuite/Magento/Framework/View/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Framework/View/LayoutTest.php index c014b517f646354f43e2f495a12fa3f67a7f0942..66e8eb3e453f9264669376fa497acebf36033ec4 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/View/LayoutTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/View/LayoutTest.php @@ -275,7 +275,8 @@ class LayoutTest extends \PHPUnit\Framework\TestCase $msg = 'Html tag "span" is forbidden for usage in containers. ' . 'Consider to use one of the allowed: aside, dd, div, dl, fieldset, main, nav, ' . 'header, footer, ol, p, section, table, tfoot, ul.'; - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, $msg); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage($msg); $this->_layout->addContainer('container', 'Container', ['htmlTag' => 'span']); } diff --git a/dev/tests/integration/testsuite/Magento/Review/Model/ResourceModel/RatingTest.php b/dev/tests/integration/testsuite/Magento/Review/Model/ResourceModel/RatingTest.php index c88bd5ed7cf77060a6d9a57616615f14dbde6ed2..7801cb2c78c2436aff71f8fbdfbfc8da22132f98 100644 --- a/dev/tests/integration/testsuite/Magento/Review/Model/ResourceModel/RatingTest.php +++ b/dev/tests/integration/testsuite/Magento/Review/Model/ResourceModel/RatingTest.php @@ -77,7 +77,8 @@ class RatingTest extends \PHPUnit\Framework\TestCase */ public function testRatingSaveWithError() { - $this->expectException('Exception', 'Rolled back transaction has not been completed correctly'); + $this->expectException('Exception'); + $this->expectExceptionMessage('Rolled back transaction has not been completed correctly'); $rating = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Review\Model\Rating::class ); diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/ResolverTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/ResolverTest.php index f4560ed31ae49b274b499d90416f04b727675299..33b6ab7e99aedb0575cf287129b672b95af9c92f 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/ResolverTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/ResolverTest.php @@ -40,7 +40,8 @@ class ResolverTest extends \PHPUnit\Framework\TestCase public function testGetTagsForNotObject() { - $this->expectException(\InvalidArgumentException::class, 'Provided argument is not an object'); + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Provided argument is not an object'); $this->model->getTags('some scalar'); } diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/DummyTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/DummyTest.php index ad043260645875033aaf905c6e15a20de5546f0f..4f072e037f74eb92a9593d6334343682311f4518 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/DummyTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/DummyTest.php @@ -20,7 +20,8 @@ class DummyTest extends \PHPUnit\Framework\TestCase public function testGetTagsWithScalar() { - $this->expectException(\InvalidArgumentException::class, 'Provided argument is not an object'); + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Provided argument is not an object'); $this->model->getTags('scalar'); } diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/FactoryTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/FactoryTest.php index 8964bd70f0ba8aba952e7c447fe9c31c2868e2fc..3e96c7ab9ca6caa5f84a40b1564e231a801017d0 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/FactoryTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/FactoryTest.php @@ -49,7 +49,8 @@ class FactoryTest extends \PHPUnit\Framework\TestCase public function testGetStrategyWithScalar() { - $this->expectException(\InvalidArgumentException::class, 'Provided argument is not an object'); + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Provided argument is not an object'); $this->model->getStrategy('some scalar'); } diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/IdentifierTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/IdentifierTest.php index d0fcf9d8a739deccc515ed9bbb659e198417138c..4dc46d46e675ed22fda22f6dbbc04831d471da78 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/IdentifierTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/Cache/Tag/Strategy/IdentifierTest.php @@ -22,7 +22,8 @@ class IdentifierTest extends \PHPUnit\Framework\TestCase public function testGetWithScalar() { - $this->expectException(\InvalidArgumentException::class, 'Provided argument is not an object'); + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Provided argument is not an object'); $this->model->getTags('scalar'); } diff --git a/lib/internal/Magento/Framework/App/Test/Unit/ErrorHandlerTest.php b/lib/internal/Magento/Framework/App/Test/Unit/ErrorHandlerTest.php index 53012558188001c384957d86c9e200297908f14c..daf3a4bdfab0c6e3979e9848235935e216718b48 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/ErrorHandlerTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/ErrorHandlerTest.php @@ -54,7 +54,8 @@ class ErrorHandlerTest extends \PHPUnit\Framework\TestCase $errorLine = 'test_error_line'; $exceptedExceptionMessage = sprintf('%s: %s in %s on line %s', $errorPhrase, $errorStr, $errorFile, $errorLine); - $this->expectException('Exception', $exceptedExceptionMessage); + $this->expectException('Exception'); + $this->expectExceptionMessage($exceptedExceptionMessage); $this->object->handler($errorNo, $errorStr, $errorFile, $errorLine); } diff --git a/lib/internal/Magento/Framework/App/Test/Unit/SetupInfoTest.php b/lib/internal/Magento/Framework/App/Test/Unit/SetupInfoTest.php index a209c313a0a897808d05e46ae762cd4c1ce5a7e2..3db75f7ec7fb29f5e956e2da9c663c18ec2e93d1 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/SetupInfoTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/SetupInfoTest.php @@ -24,7 +24,8 @@ class SetupInfoTest extends \PHPUnit\Framework\TestCase */ public function testConstructorExceptions($server, $expectedError) { - $this->expectException('\InvalidArgumentException', $expectedError); + $this->expectException('\InvalidArgumentException'); + $this->expectExceptionMessage($expectedError); new SetupInfo($server); } diff --git a/lib/internal/Magento/Framework/App/Test/Unit/ShellTest.php b/lib/internal/Magento/Framework/App/Test/Unit/ShellTest.php index 9eed1fbedd95473918f712151fa043c520dd4401..65ac19cbc29967cb1a8314c8cf6d6fca7e82ffd3 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/ShellTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/ShellTest.php @@ -69,7 +69,8 @@ class ShellTest extends \PHPUnit\Framework\TestCase ); $this->driverMock->expects($this->once())->method('execute')->willReturn($response); $this->loggerMock->expects($this->once())->method('error')->with($logEntry); - $this->expectException(LocalizedException::class, "Command returned non-zero exit code:\n`$command`"); + $this->expectException(LocalizedException::class); + $this->expectExceptionMessage("Command returned non-zero exit code:\n`$command`"); $this->model->execute($command, []); } } diff --git a/lib/internal/Magento/Framework/App/Test/Unit/View/Asset/MaterializationStrategy/FactoryTest.php b/lib/internal/Magento/Framework/App/Test/Unit/View/Asset/MaterializationStrategy/FactoryTest.php index c7a276454535792618ee8ec81dc90d6886f1a48f..1873cc593a65551e1ad8efafb37a84209d23a273 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/View/Asset/MaterializationStrategy/FactoryTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/View/Asset/MaterializationStrategy/FactoryTest.php @@ -87,7 +87,8 @@ class FactoryTest extends \PHPUnit\Framework\TestCase $factory = new Factory($this->objectManager, []); - $this->expectException('LogicException', 'No materialization strategy is supported'); + $this->expectException('LogicException'); + $this->expectExceptionMessage('No materialization strategy is supported'); $factory->create($asset); } diff --git a/lib/internal/Magento/Framework/Cache/Test/Unit/Frontend/Adapter/ZendTest.php b/lib/internal/Magento/Framework/Cache/Test/Unit/Frontend/Adapter/ZendTest.php index ee00a2154f4156ab8e5d254d9c26b92acd2ea9a0..129fade7b4a9cfb8312e47287bed49f483b919d0 100644 --- a/lib/internal/Magento/Framework/Cache/Test/Unit/Frontend/Adapter/ZendTest.php +++ b/lib/internal/Magento/Framework/Cache/Test/Unit/Frontend/Adapter/ZendTest.php @@ -80,7 +80,8 @@ class ZendTest extends \PHPUnit\Framework\TestCase */ public function testCleanException($cleaningMode, $expectedErrorMessage) { - $this->expectException('InvalidArgumentException', $expectedErrorMessage); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage($expectedErrorMessage); $object = new \Magento\Framework\Cache\Frontend\Adapter\Zend($this->createMock(\Zend_Cache_Core::class)); $object->clean($cleaningMode); } diff --git a/lib/internal/Magento/Framework/Code/Test/Unit/Generator/InterfaceGeneratorTest.php b/lib/internal/Magento/Framework/Code/Test/Unit/Generator/InterfaceGeneratorTest.php index 347bc6b46ace53f6790ff07be877e8a296a0121e..0f3daa46e1ec39f248ff9b677d9304dfec9072aa 100644 --- a/lib/internal/Magento/Framework/Code/Test/Unit/Generator/InterfaceGeneratorTest.php +++ b/lib/internal/Magento/Framework/Code/Test/Unit/Generator/InterfaceGeneratorTest.php @@ -75,7 +75,8 @@ class InterfaceGeneratorTest extends \PHPUnit\Framework\TestCase public function testGenerate($additionalMethodsData, $expectedException, $expectedExceptionMessage) { if ($expectedException) { - $this->expectException($expectedException, $expectedExceptionMessage); + $this->expectException($expectedException); + $this->expectExceptionMessage($expectedExceptionMessage); } $methodsData = array_merge_recursive($this->methodsData, $additionalMethodsData); $this->interfaceGenerator->setClassDocBlock($this->interfaceDocBlock) diff --git a/lib/internal/Magento/Framework/Code/Test/Unit/Generator/IoTest.php b/lib/internal/Magento/Framework/Code/Test/Unit/Generator/IoTest.php index bc23ef954f21652d383ec51c7f605100411593ab..9c63de1258d150a623a256025332873d2a4933f4 100644 --- a/lib/internal/Magento/Framework/Code/Test/Unit/Generator/IoTest.php +++ b/lib/internal/Magento/Framework/Code/Test/Unit/Generator/IoTest.php @@ -97,7 +97,8 @@ class IoTest extends \PHPUnit\Framework\TestCase } else { $exceptionMessage = 'Some error renaming file'; $renameMockEvent = $this->throwException(new FileSystemException(new Phrase($exceptionMessage))); - $this->expectException(\Magento\Framework\Exception\FileSystemException::class, $exceptionMessage); + $this->expectException(\Magento\Framework\Exception\FileSystemException::class); + $this->expectExceptionMessage($exceptionMessage); } $this->_filesystemDriverMock->expects($this->once()) diff --git a/lib/internal/Magento/Framework/Code/Test/Unit/Validator/ArgumentSequenceTest.php b/lib/internal/Magento/Framework/Code/Test/Unit/Validator/ArgumentSequenceTest.php index d1692fd4ec012718158861669cd6813cfdef9526..96be42658f76228cb86013fe8439e07459e34c8b 100644 --- a/lib/internal/Magento/Framework/Code/Test/Unit/Validator/ArgumentSequenceTest.php +++ b/lib/internal/Magento/Framework/Code/Test/Unit/Validator/ArgumentSequenceTest.php @@ -51,7 +51,8 @@ class ArgumentSequenceTest extends \PHPUnit\Framework\TestCase 'Actual : %s' . PHP_EOL; $message = sprintf($message, '\ArgumentSequence\InvalidChildClass', $expectedSequence, $actualSequence); - $this->expectException(\Magento\Framework\Exception\ValidatorException::class, $message); + $this->expectException(\Magento\Framework\Exception\ValidatorException::class); + $this->expectExceptionMessage($message); $this->_validator->validate('\ArgumentSequence\InvalidChildClass'); } } diff --git a/lib/internal/Magento/Framework/Code/Test/Unit/Validator/TypeDuplicationTest.php b/lib/internal/Magento/Framework/Code/Test/Unit/Validator/TypeDuplicationTest.php index 3822d148adca5d84de774b18e8ba0804d68b4b98..a82c88e3e18b1f8fa8972441b106539120187567 100644 --- a/lib/internal/Magento/Framework/Code/Test/Unit/Validator/TypeDuplicationTest.php +++ b/lib/internal/Magento/Framework/Code/Test/Unit/Validator/TypeDuplicationTest.php @@ -49,7 +49,8 @@ class TypeDuplicationTest extends \PHPUnit\Framework\TestCase $this->_fixturePath . PHP_EOL . 'Multiple type injection [\TypeDuplication\ArgumentBaseClass]'; - $this->expectException(\Magento\Framework\Exception\ValidatorException::class, $message); + $this->expectException(\Magento\Framework\Exception\ValidatorException::class); + $this->expectExceptionMessage($message); $this->_validator->validate('\TypeDuplication\InvalidClassWithDuplicatedTypes'); } } diff --git a/lib/internal/Magento/Framework/Config/Test/Unit/Data/ConfigDataTest.php b/lib/internal/Magento/Framework/Config/Test/Unit/Data/ConfigDataTest.php index b222f52dc738bfb4c173b27d59bab613e1d42cad..619135f9c7038a6e391f16af4c14492feac08866 100644 --- a/lib/internal/Magento/Framework/Config/Test/Unit/Data/ConfigDataTest.php +++ b/lib/internal/Magento/Framework/Config/Test/Unit/Data/ConfigDataTest.php @@ -42,7 +42,8 @@ class ConfigDataTest extends \PHPUnit\Framework\TestCase $configData = new ConfigData('testKey'); - $this->expectException('InvalidArgumentException', $expectedException); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage($expectedException); $configData->set($key, 'value'); } diff --git a/lib/internal/Magento/Framework/DB/Test/Unit/Tree/NodeTest.php b/lib/internal/Magento/Framework/DB/Test/Unit/Tree/NodeTest.php index 8d3623d485b89ef3bc8ed5c34fa5cf5c9cad5c45..92c901f3872f299347b156fec42a31dd720e1217 100644 --- a/lib/internal/Magento/Framework/DB/Test/Unit/Tree/NodeTest.php +++ b/lib/internal/Magento/Framework/DB/Test/Unit/Tree/NodeTest.php @@ -20,7 +20,8 @@ class NodeTest extends \PHPUnit\Framework\TestCase $expectedException, $expectedExceptionMessage ) { - $this->expectException($expectedException, $expectedExceptionMessage); + $this->expectException($expectedException); + $this->expectExceptionMessage($expectedExceptionMessage); new \Magento\Framework\DB\Tree\Node($data['node_data'], $data['keys']); } diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Argument/Interpreter/CompositeTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Argument/Interpreter/CompositeTest.php index 768b8d3b9efa2e7aa30872b95a6a7311ebc48109..bca8bb0d9347f8195348c5a2a450f2589208beae 100644 --- a/lib/internal/Magento/Framework/Data/Test/Unit/Argument/Interpreter/CompositeTest.php +++ b/lib/internal/Magento/Framework/Data/Test/Unit/Argument/Interpreter/CompositeTest.php @@ -55,7 +55,8 @@ class CompositeTest extends \PHPUnit\Framework\TestCase */ public function testEvaluateWrongDiscriminator($input, $expectedExceptionMessage) { - $this->expectException('\InvalidArgumentException', $expectedExceptionMessage); + $this->expectException('\InvalidArgumentException'); + $this->expectExceptionMessage($expectedExceptionMessage); $this->_model->evaluate($input); } diff --git a/lib/internal/Magento/Framework/File/Uploader.php b/lib/internal/Magento/Framework/File/Uploader.php index c3316db7be01651da895f874aef9a43d468421d6..07de9941271c33de5d7ddab60868f2b040d6ec41 100644 --- a/lib/internal/Magento/Framework/File/Uploader.php +++ b/lib/internal/Magento/Framework/File/Uploader.php @@ -201,7 +201,7 @@ class Uploader if ($this->_enableFilesDispersion) { $fileName = $this->correctFileNameCase($fileName); $this->setAllowCreateFolders(true); - $this->_dispretionPath = self::getDispretionPath($fileName); + $this->_dispretionPath = self::getDispersionPath($fileName); $destinationFile .= $this->_dispretionPath; $this->_createDestinationFolder($destinationFile); } @@ -610,8 +610,20 @@ class Uploader * * @param string $fileName * @return string + * @deprecated */ public static function getDispretionPath($fileName) + { + return self::getDispersionPath($fileName); + } + + /** + * Get dispertion path + * + * @param string $fileName + * @return string + */ + public static function getDispersionPath($fileName) { $char = 0; $dispertionPath = ''; diff --git a/lib/internal/Magento/Framework/Filesystem/Test/Unit/DirectoryListTest.php b/lib/internal/Magento/Framework/Filesystem/Test/Unit/DirectoryListTest.php index 8a96f79179bd7ec271031d327b04e45e4aef56dc..96b56de8451c278e26f891d6ad128b97ed48d3ca 100644 --- a/lib/internal/Magento/Framework/Filesystem/Test/Unit/DirectoryListTest.php +++ b/lib/internal/Magento/Framework/Filesystem/Test/Unit/DirectoryListTest.php @@ -21,7 +21,8 @@ class DirectoryListTest extends \PHPUnit\Framework\TestCase */ public function testValidate($config, $expectedError) { - $this->expectException('\InvalidArgumentException', $expectedError); + $this->expectException('\InvalidArgumentException'); + $this->expectExceptionMessage($expectedError); DirectoryList::validate($config); } diff --git a/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/ImageMagickTest.php b/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/ImageMagickTest.php index af44ae45c2cc5840a6e12ae28d0424195a4abdb6..ae0348f489fd2b3d3ddc25dcd0b64c59a3bfe582 100644 --- a/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/ImageMagickTest.php +++ b/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/ImageMagickTest.php @@ -58,7 +58,8 @@ class ImageMagickTest extends \PHPUnit\Framework\TestCase */ public function testWatermark($imagePath, $expectedMessage) { - $this->expectException('LogicException', $expectedMessage); + $this->expectException('LogicException'); + $this->expectExceptionMessage($expectedMessage); $this->imageMagic->watermark($imagePath); } diff --git a/lib/internal/Magento/Framework/Indexer/CacheContext.php b/lib/internal/Magento/Framework/Indexer/CacheContext.php index df0bed1dc1dcbb4bd78a824311e1b03f1ca93d7f..4a6964477ebd5cdd5121e17a0e3edf4d2b4656b5 100644 --- a/lib/internal/Magento/Framework/Indexer/CacheContext.php +++ b/lib/internal/Magento/Framework/Indexer/CacheContext.php @@ -29,15 +29,14 @@ class CacheContext implements \Magento\Framework\DataObject\IdentityInterface */ public function registerEntities($cacheTag, $ids) { - $this->entities[$cacheTag] = - array_merge($this->getRegisteredEntity($cacheTag), $ids); + $this->entities[$cacheTag] = array_merge($this->getRegisteredEntity($cacheTag), $ids); return $this; } /** * Register entity tags * - * @param string $cacheTag + * @param array $cacheTags * @return $this */ public function registerTags($cacheTags) diff --git a/lib/internal/Magento/Framework/Mview/Test/Unit/View/ChangelogTest.php b/lib/internal/Magento/Framework/Mview/Test/Unit/View/ChangelogTest.php index e278de0fff914dd2c2b8d2f3dd0d4d0e65795e19..c91b56560eb75f2b95bb2a2a0f722e15bc17672b 100644 --- a/lib/internal/Magento/Framework/Mview/Test/Unit/View/ChangelogTest.php +++ b/lib/internal/Magento/Framework/Mview/Test/Unit/View/ChangelogTest.php @@ -124,7 +124,8 @@ class ChangelogTest extends \PHPUnit\Framework\TestCase $this->mockIsTableExists($changelogTableName, false); $this->mockGetTableName(); - $this->expectException('Exception', "Table {$changelogTableName} does not exist"); + $this->expectException('Exception'); + $this->expectExceptionMessage("Table {$changelogTableName} does not exist"); $this->model->setViewId('viewIdtest'); $this->model->getVersion(); } @@ -135,7 +136,8 @@ class ChangelogTest extends \PHPUnit\Framework\TestCase $this->mockIsTableExists($changelogTableName, false); $this->mockGetTableName(); - $this->expectException('Exception', "Table {$changelogTableName} does not exist"); + $this->expectException('Exception'); + $this->expectExceptionMessage("Table {$changelogTableName} does not exist"); $this->model->setViewId('viewIdtest'); $this->model->drop(); } @@ -226,7 +228,8 @@ class ChangelogTest extends \PHPUnit\Framework\TestCase $this->mockIsTableExists($changelogTableName, false); $this->mockGetTableName(); - $this->expectException('Exception', "Table {$changelogTableName} does not exist"); + $this->expectException('Exception'); + $this->expectExceptionMessage("Table {$changelogTableName} does not exist"); $this->model->setViewId('viewIdtest'); $this->model->getList(mt_rand(1, 200), mt_rand(201, 400)); } @@ -237,7 +240,8 @@ class ChangelogTest extends \PHPUnit\Framework\TestCase $this->mockIsTableExists($changelogTableName, false); $this->mockGetTableName(); - $this->expectException('Exception', "Table {$changelogTableName} does not exist"); + $this->expectException('Exception'); + $this->expectExceptionMessage("Table {$changelogTableName} does not exist"); $this->model->setViewId('viewIdtest'); $this->model->clear(mt_rand(1, 200)); } diff --git a/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/CompositeTest.php b/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/CompositeTest.php index 57d8841455fd72bd7be7e0030a22d3890feeb4fc..e302dc8f5ad5e93bc202056fa260f4eab5c641c1 100644 --- a/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/CompositeTest.php +++ b/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/CompositeTest.php @@ -85,7 +85,8 @@ class CompositeTest extends \PHPUnit\Framework\TestCase ->method('render') ->willThrowException($exception); - $this->expectException('Exception', $message); + $this->expectException('Exception'); + $this->expectExceptionMessage($message); $this->object->render(['text'], []); } } diff --git a/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/InlineTest.php b/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/InlineTest.php index 793557000fb1e253b2941a1f4156d0d486edf583..f9b6e47c19a8634943f3b76e1633fb82ed954c48 100644 --- a/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/InlineTest.php +++ b/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/InlineTest.php @@ -88,7 +88,8 @@ class InlineTest extends \PHPUnit\Framework\TestCase ->method('get') ->willThrowException($exception); - $this->expectException('Exception', $message); + $this->expectException('Exception'); + $this->expectExceptionMessage($message); $this->renderer->render(['text'], []); } } diff --git a/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/TranslateTest.php b/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/TranslateTest.php index fb4b3232cab31626f96585c9a5e8170f13b3fc40..d8a0b3673ad6d5f5bf8953d444a4fd9b19a93277 100644 --- a/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/TranslateTest.php +++ b/lib/internal/Magento/Framework/Phrase/Test/Unit/Renderer/TranslateTest.php @@ -91,7 +91,8 @@ class TranslateTest extends \PHPUnit\Framework\TestCase ->method('getData') ->willThrowException($exception); - $this->expectException('Exception', $message); + $this->expectException('Exception'); + $this->expectExceptionMessage($message); $this->_renderer->render(['text'], []); } } diff --git a/lib/internal/Magento/Framework/Test/Unit/Module/Plugin/DbStatusValidatorTest.php b/lib/internal/Magento/Framework/Test/Unit/Module/Plugin/DbStatusValidatorTest.php index 201856124d7219fd024af2c79caba1ae44ee4ce3..1516f65479771ef571ef81b189e0181aa1ae66ce 100644 --- a/lib/internal/Magento/Framework/Test/Unit/Module/Plugin/DbStatusValidatorTest.php +++ b/lib/internal/Magento/Framework/Test/Unit/Module/Plugin/DbStatusValidatorTest.php @@ -114,7 +114,7 @@ class DbStatusValidatorTest extends \PHPUnit\Framework\TestCase $this->cacheMock->expects(static::never()) ->method('save'); - $this->expectException(LocalizedException::class, $expectedMessage); + $this->expectException(LocalizedException::class); $this->expectExceptionMessage($expectedMessage); $this->plugin->beforeDispatch($this->frontControllerMock, $this->requestMock); } diff --git a/lib/internal/Magento/Framework/Validator/Test/Unit/BuilderTest.php b/lib/internal/Magento/Framework/Validator/Test/Unit/BuilderTest.php index 2df8d535ee788572efc5ff49dbeedd969ca282da..860d449c4717e129b8b2fe2362675295392b1148 100644 --- a/lib/internal/Magento/Framework/Validator/Test/Unit/BuilderTest.php +++ b/lib/internal/Magento/Framework/Validator/Test/Unit/BuilderTest.php @@ -341,7 +341,8 @@ class BuilderTest extends \PHPUnit\Framework\TestCase */ public function testConstructorConfigValidation(array $options, $exception, $exceptionMessage) { - $this->expectException($exception, $exceptionMessage); + $this->expectException($exception); + $this->expectExceptionMessage($exceptionMessage); if (array_key_exists('method', $options)) { $options = ['methods' => [$options]]; } @@ -362,7 +363,8 @@ class BuilderTest extends \PHPUnit\Framework\TestCase */ public function testAddConfigurationConfigValidation(array $options, $exception, $exceptionMessage) { - $this->expectException($exception, $exceptionMessage); + $this->expectException($exception); + $this->expectExceptionMessage($exceptionMessage); $constraints = [ ['alias' => 'alias', 'class' => 'Some\Validator\Class', 'options' => null, 'type' => 'entity'], diff --git a/lib/internal/Magento/Framework/Validator/Test/Unit/Constraint/Option/CallbackTest.php b/lib/internal/Magento/Framework/Validator/Test/Unit/Constraint/Option/CallbackTest.php index 91bd3a7608d6777c54a6d2f13b5952234e520e8d..9617b28383088fd2fa5d67de54c94fb9896e5766 100644 --- a/lib/internal/Magento/Framework/Validator/Test/Unit/Constraint/Option/CallbackTest.php +++ b/lib/internal/Magento/Framework/Validator/Test/Unit/Constraint/Option/CallbackTest.php @@ -123,7 +123,8 @@ class CallbackTest extends \PHPUnit\Framework\TestCase public function testGetValueException($callback, $expectedMessage, $createInstance = false) { $option = new \Magento\Framework\Validator\Constraint\Option\Callback($callback, null, $createInstance); - $this->expectException('InvalidArgumentException', $expectedMessage); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage($expectedMessage); $option->getValue(); } diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Element/TemplateTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Element/TemplateTest.php index 83813785886c5dc8cd8315d55ab8449c7c27a0ee..b457a98b5e2366fb9f6ae6f79b7ba6e828a7ed35 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Element/TemplateTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Element/TemplateTest.php @@ -175,7 +175,8 @@ class TemplateTest extends \PHPUnit\Framework\TestCase ->method('getMode') ->willReturn(\Magento\Framework\App\State::MODE_DEVELOPER); - $this->expectException(\Magento\Framework\Exception\ValidatorException::class, $exception); + $this->expectException(\Magento\Framework\Exception\ValidatorException::class); + $this->expectExceptionMessage($exception); $this->block->fetchView($template); } diff --git a/lib/internal/Magento/Framework/View/Test/Unit/File/Collector/Override/ThemeModularTest.php b/lib/internal/Magento/Framework/View/Test/Unit/File/Collector/Override/ThemeModularTest.php index d1a1851c06c52ff84361ece78f7d409430f19788..cae621a09125ff4152ee15d88bfe20dbb261a4a2 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/File/Collector/Override/ThemeModularTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/File/Collector/Override/ThemeModularTest.php @@ -169,7 +169,8 @@ class ThemeModularTest extends \PHPUnit\Framework\TestCase $filePath = 'design/area/theme_path/Module_One/override/theme/vendor/parent_theme/1.xml'; $expectedMessage = "Trying to override modular view file '$filePath' for theme 'vendor/parent_theme'" . ", which is not ancestor of theme 'vendor/theme_path'"; - $this->expectException(\Magento\Framework\Exception\LocalizedException::class, $expectedMessage); + $this->expectException(\Magento\Framework\Exception\LocalizedException::class); + $this->expectExceptionMessage($expectedMessage); $theme = $this->getMockForAbstractClass(\Magento\Framework\View\Design\ThemeInterface::class); $theme->expects($this->once())->method('getFullPath')->willReturn($themePath); diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/HelperMethodTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/HelperMethodTest.php index 19b450e2d4235813198cd0ec5e192d56a2396471..458b23a4b15eb54b92b6f9b47eb43582ce915f57 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/HelperMethodTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/HelperMethodTest.php @@ -67,7 +67,8 @@ class HelperMethodTest extends \PHPUnit\Framework\TestCase */ public function testEvaluateException($helperMethod, $expectedExceptionMessage) { - $this->expectException('\InvalidArgumentException', $expectedExceptionMessage); + $this->expectException('\InvalidArgumentException'); + $this->expectExceptionMessage($expectedExceptionMessage); $input = ['value' => 'some text', 'helper' => $helperMethod]; $this->_model->evaluate($input); } diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/NamedParamsTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/NamedParamsTest.php index 65f72ef96f85093fa39daa0ac07b912fefd7a9a3..5ae0b0332f28a8776147cb5a157d734e5f37d6d2 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/NamedParamsTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/NamedParamsTest.php @@ -62,7 +62,8 @@ class NamedParamsTest extends \PHPUnit\Framework\TestCase */ public function testEvaluateWrongParam($input, $expectedExceptionMessage) { - $this->expectException('\InvalidArgumentException', $expectedExceptionMessage); + $this->expectException('\InvalidArgumentException'); + $this->expectExceptionMessage($expectedExceptionMessage); $this->_model->evaluate($input); } diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/ObjectTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/ObjectTest.php index 682106e01ad4ed663476a4b82416d94eb3b1e4df..7cc280a930d9c6f7677e66382933d022d67f0e39 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/ObjectTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/ObjectTest.php @@ -49,7 +49,8 @@ class ObjectTest extends \PHPUnit\Framework\TestCase */ public function testEvaluateWrongClass($input, $expectedException, $expectedExceptionMessage) { - $this->expectException($expectedException, $expectedExceptionMessage); + $this->expectException($expectedException); + $this->expectExceptionMessage($expectedExceptionMessage); $self = $this; $this->_objectManager->expects($this->any())->method('create')->willReturnCallback( function ($className) use ($self) { diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/OptionsTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/OptionsTest.php index ffb79790d33f8ba4474ebeb76001044334098b53..d3e91cb7c2b7efe78591c7d2c5797f443a8d14ab 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/OptionsTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Argument/Interpreter/OptionsTest.php @@ -67,7 +67,8 @@ class OptionsTest extends \PHPUnit\Framework\TestCase */ public function testEvaluateWrongModel($input, $expectedException, $expectedExceptionMessage) { - $this->expectException($expectedException, $expectedExceptionMessage); + $this->expectException($expectedException); + $this->expectExceptionMessage($expectedExceptionMessage); $this->_model->evaluate($input); } diff --git a/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/Deserializer/JsonTest.php b/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/Deserializer/JsonTest.php index 71ede3fd4fcb4ae12d3ee86bb8d586a49d5ac2ab..d4177ceee8d7ef4f617c73c4277b2ca6d6f3b819 100644 --- a/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/Deserializer/JsonTest.php +++ b/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/Deserializer/JsonTest.php @@ -55,7 +55,8 @@ class JsonTest extends \PHPUnit\Framework\TestCase public function testDeserializerInvalidArgumentException() { - $this->expectException('InvalidArgumentException', '"boolean" data type is invalid. String is expected.'); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage('"boolean" data type is invalid. String is expected.'); $this->_jsonDeserializer->deserialize(false); } diff --git a/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/Deserializer/XmlTest.php b/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/Deserializer/XmlTest.php index 2c754f23b0b5cb6d5c86dc03c9783bc91f56754c..4b9c90de7355e2edc681104e60cadb7b28842549 100644 --- a/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/Deserializer/XmlTest.php +++ b/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/Deserializer/XmlTest.php @@ -42,7 +42,8 @@ class XmlTest extends \PHPUnit\Framework\TestCase public function testDeserializeInvalidArgumentException() { - $this->expectException('InvalidArgumentException', '"boolean" data type is invalid. String is expected.'); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage('"boolean" data type is invalid. String is expected.'); $this->_xmlDeserializer->deserialize(false); } diff --git a/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/DeserializerFactoryTest.php b/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/DeserializerFactoryTest.php index 74d87095823f743f6b94cb64c083167a3956a379..588a67430a61f4cbde40d684b3b7a38a45b8c6ea 100644 --- a/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/DeserializerFactoryTest.php +++ b/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Request/DeserializerFactoryTest.php @@ -11,7 +11,8 @@ class DeserializerFactoryTest extends \PHPUnit\Framework\TestCase { public function testGetLogicExceptionEmptyRequestAdapter() { - $this->expectException('LogicException', 'Request deserializer adapter is not set.'); + $this->expectException('LogicException'); + $this->expectExceptionMessage('Request deserializer adapter is not set.'); $interpreterFactory = new \Magento\Framework\Webapi\Rest\Request\DeserializerFactory( $this->createMock(\Magento\Framework\ObjectManagerInterface::class), [] diff --git a/setup/src/Magento/Setup/Test/Unit/Module/Di/Compiler/Config/ModificationChainTest.php b/setup/src/Magento/Setup/Test/Unit/Module/Di/Compiler/Config/ModificationChainTest.php index dbe566f9a1c7a49631e005829b45891ea69b3c5a..7f0553034b4f95c0a57889f05a3519bb29200010 100644 --- a/setup/src/Magento/Setup/Test/Unit/Module/Di/Compiler/Config/ModificationChainTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Module/Di/Compiler/Config/ModificationChainTest.php @@ -25,7 +25,8 @@ class ModificationChainTest extends \PHPUnit\Framework\TestCase public function testConstructorException() { - $this->expectException('InvalidArgumentException', 'Wrong modifier provided'); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage('Wrong modifier provided'); $modificationsList = []; $modificationsList[] = $this->getMockBuilder( \Magento\Setup\Module\Di\Compiler\Config\ModificationInterface::class diff --git a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/Options/ResolverTest.php b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/Options/ResolverTest.php index cb49c3a33a5c551d976ed0d5576b86c786ba3bce..331b2b8705c5ba9767038b9191d8446650522197 100644 --- a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/Options/ResolverTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/Options/ResolverTest.php @@ -136,7 +136,8 @@ class ResolverTest extends \PHPUnit\Framework\TestCase 'directoryList' => $directoryList ] ); - $this->expectException('\InvalidArgumentException', $message); + $this->expectException('\InvalidArgumentException'); + $this->expectExceptionMessage($message); $resolver->getOptions(); } diff --git a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/PhraseTest.php b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/PhraseTest.php index e87a716ffdb6265feca6987a1fbda1c9c3ed7c7e..b76cc4a0b1f1a47fb39d0c59bc40ca189910665b 100644 --- a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/PhraseTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/PhraseTest.php @@ -55,7 +55,8 @@ class PhraseTest extends \PHPUnit\Framework\TestCase */ public function testWrongParametersWhilePhraseCreation($constructArguments, $message) { - $this->expectException('DomainException', $message); + $this->expectException('DomainException'); + $this->expectExceptionMessage($message); new Phrase(...array_values($constructArguments)); } diff --git a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Pack/GeneratorTest.php b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Pack/GeneratorTest.php index 3395596f399a31ede3f2db43e5a7e317e8b06bc4..1c035e8ceed8225199789768d24951f93d5a9679 100644 --- a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Pack/GeneratorTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Pack/GeneratorTest.php @@ -111,7 +111,8 @@ class GeneratorTest extends \PHPUnit\Framework\TestCase $error = "Duplicated translation is found, but it is not allowed.\n" . "The phrase \"phrase1\" is translated in 1 places.\n" . "The phrase \"phrase2\" is translated in 1 places.\n"; - $this->expectException('\RuntimeException', $error); + $this->expectException('\RuntimeException'); + $this->expectExceptionMessage($error); $allowDuplicates = false; diff --git a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Parser/AbstractParserTest.php b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Parser/AbstractParserTest.php index e68a1c624376b42e83c9aec2a5eec0bff3a718f3..3c744bb44d32a131ac44d7c99765ab5aa930a6b0 100644 --- a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Parser/AbstractParserTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Parser/AbstractParserTest.php @@ -29,7 +29,8 @@ class AbstractParserTest extends \PHPUnit\Framework\TestCase */ public function testValidateOptions($options, $message) { - $this->expectException('InvalidArgumentException', $message); + $this->expectException('InvalidArgumentException'); + $this->expectExceptionMessage($message); $this->_parserMock->addAdapter( 'php',