Skip to content

Commit 18a1bd0

Browse files
MTO-128: [Test] Export Products
- Stabilization.
1 parent e84317a commit 18a1bd0

File tree

14 files changed

+85
-70
lines changed

14 files changed

+85
-70
lines changed
Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
namespace Magento\BundleImportExport\Test\Constraint;
88

9-
use Magento\CatalogImportExport\Test\Constraint\AssertImportProduct;
9+
use Magento\CatalogImportExport\Test\Constraint\AssertImportedProducts;
1010
use Magento\Mtf\Fixture\FixtureInterface;
1111

1212
/**
13-
* Assert products data from csv import file and page are match.
13+
* Assert that products data from CSV import file and data from product edit page are correct and match.
1414
*/
15-
class AssertBundleImportProduct extends AssertImportProduct
15+
class AssertImportedBundleProducts extends AssertImportedProducts
1616
{
1717
/**
1818
* Product type.
@@ -40,12 +40,9 @@ class AssertBundleImportProduct extends AssertImportProduct
4040
* @param FixtureInterface $product
4141
* @return array
4242
*/
43-
protected function getPrepareProductsData(FixtureInterface $product)
43+
protected function getDisplayedProductData(FixtureInterface $product)
4444
{
45-
$productId = $this->retrieveProductBySku($product)['id'];
46-
$this->catalogProductEdit->open(['id' => $productId]);
47-
$productData = $this->catalogProductEdit->getProductForm()->getData($product);
48-
45+
$productData = $this->getDisplayedOnProductPageData($product);
4946
$bundleSelection = $productData['bundle_selections'][0];
5047
$assignedProduct = $bundleSelection['assigned_products'][0];
5148

@@ -71,6 +68,6 @@ protected function getPrepareProductsData(FixtureInterface $product)
7168
*/
7269
public function toString()
7370
{
74-
return 'Imported bundle products data from csv are correct.';
71+
return 'Products data from CSV import file and data from product edit page are correct and match.';
7572
}
7673
}

dev/tests/functional/tests/app/Magento/BundleImportExport/Test/TestCase/ImportProductTest.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
*/
77
-->
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd">
9-
<testCase name="Magento\CatalogImportExport\Test\TestCase\ImportProductTest" summary="Import Bundle Products with Replace Behavior">
10-
<variation name="ImportProductVariation3" ticketId="MAGETWO-47720" summary="Replace Products">
9+
<testCase name="Magento\CatalogImportExport\Test\TestCase\ImportProductsTest" summary="Import Bundle Product with Replace Behavior">
10+
<variation name="ImportProductVariation3" ticketId="MAGETWO-47720" summary="Import Bundle Product with Replace Behavior">
1111
<data name="import/data/import_file/entities/3" xsi:type="string">bundleProduct::default_with_one_simple_product</data>
12-
<constraint name="Magento\BundleImportExport\Test\Constraint\AssertBundleImportProduct" />
12+
<constraint name="Magento\BundleImportExport\Test\Constraint\AssertImportedBundleProducts" />
1313
</variation>
1414
</testCase>
1515
</config>

dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertImportProduct.php renamed to dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertImportedProducts.php

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
use Magento\Mtf\Fixture\FixtureInterface;
1515

1616
/**
17-
* Assert products data from csv import file and page are match.
17+
* Assert that products data from CSV import file and data from product edit page are correct and match.
1818
*/
19-
class AssertImportProduct extends AbstractConstraint
19+
class AssertImportedProducts extends AbstractConstraint
2020
{
2121
/**
2222
* Product type.
@@ -46,7 +46,7 @@ class AssertImportProduct extends AbstractConstraint
4646
private $import;
4747

4848
/**
49-
* Edit page in Admin.
49+
* Edit product page in Admin.
5050
*
5151
* @var CatalogProductEdit
5252
*/
@@ -89,7 +89,7 @@ public function processAssert(
8989
$products = $this->import->getDataFieldConfig('import_file')['source']->getEntities();
9090
foreach ($products as $product) {
9191
if ($product->getDataConfig()['type_id'] === $this->productType) {
92-
$resultProductsData = $this->getPrepareProductsData($product);
92+
$resultProductsData = $this->getDisplayedProductData($product);
9393
$resultCsvData = $this->getResultCsv($product->getSku());
9494
\PHPUnit_Framework_Assert::assertEquals(
9595
$resultProductsData,
@@ -101,18 +101,30 @@ public function processAssert(
101101
}
102102

103103
/**
104-
* Prepare product data.
104+
* Prepare displayed product data.
105105
*
106106
* @param FixtureInterface $product
107107
* @return array
108108
*/
109-
protected function getPrepareProductsData(FixtureInterface $product)
109+
protected function getDisplayedProductData(FixtureInterface $product)
110+
{
111+
$productData = $this->getDisplayedOnProductPageData($product);
112+
113+
return $this->getResultProductsData($productData);
114+
}
115+
116+
/**
117+
* Get product data that is displayed on product edit page in Admin.
118+
*
119+
* @param FixtureInterface $product
120+
* @return array
121+
*/
122+
protected function getDisplayedOnProductPageData(FixtureInterface $product)
110123
{
111124
$productId = $this->retrieveProductBySku($product)['id'];
112125
$this->catalogProductEdit->open(['id' => $productId]);
113-
$productData = $this->catalogProductEdit->getProductForm()->getData($product);
114126

115-
return $this->getResultProductsData($productData);
127+
return $this->catalogProductEdit->getProductForm()->getData($product);
116128
}
117129

118130
/**
@@ -136,8 +148,18 @@ private function getResultCsv($productSku)
136148
}
137149

138150
/**
139-
* Return prepared products data. Returned array has needed keys only(according with $this-neededKeys).
140-
* Input array: ['sku' => 'simple', 'type' => 'simple', 'qty' => '100', 'weight' => '30', 'url_key' => 'simple_url']
151+
* Return prepared products data. Parses multidimensional array and returns array with necessary keys
152+
* only (according with $this->neededKeys).
153+
* Input array: [
154+
* 'sku' => 'simple',
155+
* 'type' => 'simple',
156+
* 'qty' => '100',
157+
* 'weight' => '30',
158+
* 'url_key' => 'simple_url'б,
159+
* 'website_ids' => [
160+
* '1'
161+
* ]
162+
* ]
141163
* Output array: ['type' => 'simple', 'qty' => '100']
142164
*
143165
* @param array $productsData
@@ -198,6 +220,6 @@ public function retrieveProductBySku(FixtureInterface $product)
198220
*/
199221
public function toString()
200222
{
201-
return 'Imported products are presents in Admin Data Grid and StoreFront';
223+
return 'Products data from CSV import file and data from product edit page are correct and match.';
202224
}
203225
}

dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertEntitiesInGrid.php renamed to dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertProductsInGrid.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
use Magento\Mtf\Constraint\AbstractConstraint;
1212

1313
/**
14-
* Assert that entities are present in products grid.
14+
* Assert that products are present in products grid.
1515
*/
16-
class AssertEntitiesInGrid extends AbstractConstraint
16+
class AssertProductsInGrid extends AbstractConstraint
1717
{
1818
/**
19-
* Assert that products are presents in products grid and can be found by sku, type, status and attribute set.
19+
* Assert that products are present in products grid and can be found by sku, type, status and attribute set.
2020
*
2121
* @param CatalogProductIndex $productIndex
2222
* @param AssertProductInGrid $assertProductInGrid
@@ -40,6 +40,6 @@ public function processAssert(
4040
*/
4141
public function toString()
4242
{
43-
return 'Entities are presents in products grid.';
43+
return 'Products are present in products grid.';
4444
}
4545
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
use Magento\Mtf\Client\BrowserInterface;
1212

1313
/**
14-
* Assert that entities are present on storefront.
14+
* Assert that products are present on storefront.
1515
*/
16-
class AssertEntitiesOnStorefront extends AbstractConstraint
16+
class AssertProductsOnStorefront extends AbstractConstraint
1717
{
1818
/**
19-
* Assert that products are presents on storefront.
19+
* Assert that products are present on storefront.
2020
*
2121
* @param CatalogProductView $catalogProductView
2222
* @param BrowserInterface $browser
@@ -45,6 +45,6 @@ public function processAssert(
4545
*/
4646
public function toString()
4747
{
48-
return 'Entities are presents on storefront.';
48+
return 'Products are present on storefront.';
4949
}
5050
}

dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ExportProductsTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ private function prepareProducts(array $products)
104104
{
105105
$createdProducts = [];
106106
foreach ($products as $product) {
107-
$data = (isset($product['data'])) ? $product['data'] : [];
107+
$data = isset($product['data']) ? $product['data'] : [];
108108
if (isset($product['store'])) {
109109
$store = $this->fixtureFactory->createByCode('store', ['dataset' => $product['store']]);
110110
$store->persist();

dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductTest.php renamed to dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductsTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* @group ImportExport
2222
* @ZephyrId MAGETWO-47724, MAGETWO-47719, MAGETWO-47720
2323
*/
24-
class ImportProductTest extends Scenario
24+
class ImportProductsTest extends Scenario
2525
{
2626
/**
2727
* Run import data test.

dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductTest.xml renamed to dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductsTest.xml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77
-->
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd">
9-
<testCase name="Magento\CatalogImportExport\Test\TestCase\ImportProductTest" summary="Import products">
9+
<testCase name="Magento\CatalogImportExport\Test\TestCase\ImportProductsTest" summary="Import products">
1010
<variation name="ImportProductVariation1" ticketId="MAGETWO-47724" summary="Import Products with Add/Update Behavior">
1111
<data name="import/data" xsi:type="array">
1212
<item name="entity" xsi:type="string">Products</item>
@@ -29,9 +29,9 @@
2929
</item>
3030
</item>
3131
</data>
32-
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertEntitiesOnStorefront" />
33-
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertImportProduct" />
34-
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertEntitiesInGrid" />
32+
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertProductsOnStorefront" />
33+
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertImportedProduct" />
34+
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertProductsInGrid" />
3535
</variation>
3636
<variation name="ImportProductVariation2" ticketId="MAGETWO-47719" summary="Import Products assigned to different websites with Replace Behavior">
3737
<data name="import/data/entity" xsi:type="string">Products</data>
@@ -45,11 +45,11 @@
4545
<data name="import/data/import_file/template/entities" xsi:type="string">4</data>
4646
<data name="import/data/import_file/entities/0" xsi:type="string">catalogProductSimple::default_in_custom_website</data>
4747
<data name="import/data/import_file/entities/1" xsi:type="string">catalogProductSimple::default</data>
48-
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertEntitiesOnStorefront" />
49-
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertImportProduct" />
50-
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertEntitiesInGrid" />
48+
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertProductsOnStorefront" />
49+
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertImportedProducts" />
50+
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertProductsInGrid" />
5151
</variation>
52-
<variation name="ImportProductVariation3" ticketId="MAGETWO-47720" summary="Import Products with Replace Behavior">
52+
<variation name="ImportProductVariation3" ticketId="MAGETWO-47720" summary="Import Simple Product with custom options with Replace Behavior">
5353
<data name="import/data/entity" xsi:type="string">Products</data>
5454
<data name="import/data/behavior" xsi:type="string">Replace</data>
5555
<data name="import/data/validation_strategy" xsi:type="string">Stop on Error</data>
@@ -60,9 +60,9 @@
6060
<data name="import/data/import_file/template/count" xsi:type="string">7</data>
6161
<data name="import/data/import_file/template/entities" xsi:type="string">7</data>
6262
<data name="import/data/import_file/entities/0" xsi:type="string">catalogProductSimple::default_in_custom_website</data>
63-
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertEntitiesOnStorefront" />
64-
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertImportProduct" />
65-
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertEntitiesInGrid" />
63+
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertProductsOnStorefront" />
64+
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertImportedProduct" />
65+
<constraint name="Magento\CatalogImportExport\Test\Constraint\AssertProductsInGrid" />
6666
</variation>
6767
</testCase>
6868
</config>

dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/etc/testcase.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77
-->
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/TestCase/etc/testcase.xsd">
9-
<scenario name="ImportProductTest" firstStep="openImportIndex">
9+
<scenario name="ImportProductsTest" firstStep="openImportIndex">
1010
<step name="openImportIndex" module="Magento_ImportExport" next="fillImportForm" />
1111
<step name="fillImportForm" module="Magento_ImportExport" next="clickCheckData" />
1212
<step name="clickCheckData" module="Magento_ImportExport" next="checkResultMessage" />
Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
namespace Magento\ConfigurableImportExport\Test\Constraint;
88

9-
use Magento\CatalogImportExport\Test\Constraint\AssertImportProduct;
9+
use Magento\CatalogImportExport\Test\Constraint\AssertImportedProducts;
1010
use Magento\Mtf\Fixture\FixtureInterface;
1111

1212
/**
13-
* Assert products data from csv import file and page are match.
13+
* Assert that products data from CSV import file and data from product edit page are correct and match.
1414
*/
15-
class AssertConfigurableImportProduct extends AssertImportProduct
15+
class AssertImportedConfigurableProducts extends AssertImportedProducts
1616
{
1717
/**
1818
* Product type.
@@ -40,11 +40,9 @@ class AssertConfigurableImportProduct extends AssertImportProduct
4040
* @param FixtureInterface $product
4141
* @return array
4242
*/
43-
protected function getPrepareProductsData(FixtureInterface $product)
43+
protected function getDisplayedProductData(FixtureInterface $product)
4444
{
45-
$productId = $this->retrieveProductBySku($product)['id'];
46-
$this->catalogProductEdit->open(['id' => $productId]);
47-
$productData = $this->catalogProductEdit->getProductForm()->getData($product);
45+
$productData = $this->getDisplayedOnProductPageData($product);
4846
$attributesData = $productData['configurable_attributes_data']['matrix']['0'];
4947
$form = $this->catalogProductEdit->getProductForm();
5048
$form->openSection('variations');
@@ -64,6 +62,6 @@ protected function getPrepareProductsData(FixtureInterface $product)
6462
*/
6563
public function toString()
6664
{
67-
return 'Imported configurable products data from csv are correct.';
65+
return 'Products data from CSV import file and data from product edit page are correct and match.';
6866
}
6967
}

0 commit comments

Comments
 (0)