StorageConfigTest.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Ui\Test\Unit\Config\Converter;
  7. use Magento\Ui\Config\Converter\StorageConfig;
  8. use Magento\Ui\Config\ConverterInterface;
  9. use Magento\Ui\Config\ConverterUtils;
  10. class StorageConfigTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var StorageConfig
  14. */
  15. private $converter;
  16. /**
  17. * @var ConverterInterface|\PHPUnit_Framework_MockObject_MockObject
  18. */
  19. private $urlConverter;
  20. public function setUp()
  21. {
  22. $this->urlConverter = $this->getMockBuilder(ConverterInterface::class)->getMockForAbstractClass();
  23. $this->converter = new StorageConfig($this->urlConverter, new ConverterUtils());
  24. }
  25. public function testConvert()
  26. {
  27. $dom = new \DOMDocument('1.0', 'UTF-8');
  28. $dom->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . '_files/test.xml');
  29. $domXpath = new \DOMXPath($dom);
  30. $storageConfig = $domXpath->query('//listing/settings/storageConfig')->item(0);
  31. $path = $domXpath->query('//listing/settings/storageConfig/path')->item(0);
  32. $urlResult = [
  33. 'name' => 'path',
  34. 'xsi:type' => 'url',
  35. 'path' => 'path',
  36. ];
  37. $this->urlConverter->expects($this->any())
  38. ->method('convert')
  39. ->with($path, ['type' => 'url'])
  40. ->willReturn($urlResult);
  41. $expectedResult = [
  42. 'name' => 'storageConfig',
  43. 'xsi:type' => 'array',
  44. 'item' => [
  45. 'provider' => [
  46. 'name' => 'provider',
  47. 'xsi:type' => 'string',
  48. 'value' => 'provider',
  49. ],
  50. 'namespace' => [
  51. 'name' => 'namespace',
  52. 'xsi:type' => 'string',
  53. 'value' => 'namespace',
  54. ],
  55. 'path' => $urlResult,
  56. 'test' => [
  57. 'name' => 'test',
  58. 'xsi:type' => 'string',
  59. 'value' => 'test',
  60. ]
  61. ],
  62. ];
  63. $this->assertEquals($expectedResult, $this->converter->convert($storageConfig));
  64. }
  65. }