DownloadableTest.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\DownloadableImportExport\Model;
  7. use Magento\CatalogImportExport\Model\AbstractProductExportImportTestCase;
  8. class DownloadableTest extends AbstractProductExportImportTestCase
  9. {
  10. /**
  11. * @return array
  12. */
  13. public function exportImportDataProvider(): array
  14. {
  15. return [
  16. 'downloadable-product' => [
  17. [
  18. 'Magento/Downloadable/_files/product_downloadable.php'
  19. ],
  20. [
  21. 'downloadable-product',
  22. ],
  23. ],
  24. 'downloadable-product-with-files' => [
  25. [
  26. 'Magento/Downloadable/_files/product_downloadable_with_files.php'
  27. ],
  28. [
  29. 'downloadable-product',
  30. ],
  31. ],
  32. ];
  33. }
  34. /**
  35. * Run import/export tests.
  36. *
  37. * @magentoAppArea adminhtml
  38. * @magentoDbIsolation disabled
  39. * @magentoAppIsolation enabled
  40. *
  41. * @param array $fixtures
  42. * @param string[] $skus
  43. * @param string[] $skippedAttributes
  44. * @return void
  45. * @dataProvider exportImportDataProvider
  46. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  47. */
  48. public function testImportExport(array $fixtures, array $skus, array $skippedAttributes = []): void
  49. {
  50. $this->markTestSkipped('Uncomment after MAGETWO-38240 resolved');
  51. }
  52. /**
  53. * @inheritdoc
  54. */
  55. protected function assertEqualsSpecificAttributes(
  56. \Magento\Catalog\Model\Product $expectedProduct,
  57. \Magento\Catalog\Model\Product $actualProduct
  58. ): void {
  59. $expectedProductLinks = $expectedProduct->getExtensionAttributes()->getDownloadableProductLinks();
  60. $expectedProductSamples = $expectedProduct->getExtensionAttributes()->getDownloadableProductSamples();
  61. $actualProductLinks = $actualProduct->getExtensionAttributes()->getDownloadableProductLinks();
  62. $actualProductSamples = $actualProduct->getExtensionAttributes()->getDownloadableProductSamples();
  63. $this->assertEquals(count($expectedProductLinks), count($actualProductLinks));
  64. $this->assertEquals(count($expectedProductSamples), count($actualProductSamples));
  65. $expectedLinksArray = [];
  66. foreach ($expectedProductLinks as $link) {
  67. $expectedLinksArray[] = $link->getData();
  68. }
  69. foreach ($actualProductLinks as $actualLink) {
  70. $this->assertContains($expectedLinksArray, $actualLink->getData());
  71. }
  72. $expectedSamplesArray = [];
  73. foreach ($expectedProductSamples as $sample) {
  74. $expectedSamplesArray[] = $sample->getData();
  75. }
  76. foreach ($actualProductSamples as $actualSample) {
  77. $this->assertContains($expectedSamplesArray, $actualSample->getData());
  78. }
  79. }
  80. }