ReaderTest.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\WebapiAsync\Test\Unit\Model\ServiceConfig;
  8. use Magento\Framework\Config\FileResolverInterface;
  9. use Magento\WebapiAsync\Model\ServiceConfig\Converter;
  10. use Magento\WebapiAsync\Model\ServiceConfig\Reader;
  11. class ReaderTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var Reader
  15. */
  16. private $reader;
  17. /**
  18. * @var FileResolverInterface|\PHPUnit_Framework_MockObject_MockObject
  19. */
  20. private $fileResolver;
  21. public function setUp()
  22. {
  23. $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  24. $this->fileResolver = $this
  25. ->getMockForAbstractClass(\Magento\Framework\Config\FileResolverInterface::class);
  26. $this->reader = $objectManager->getObject(
  27. Reader::class,
  28. [
  29. 'fileResolver' => $this->fileResolver,
  30. 'converter' => $objectManager->getObject(Converter::class),
  31. ]
  32. );
  33. }
  34. /**
  35. * @covers \Magento\WebapiAsync\Model\ServiceConfig\Reader::read()
  36. */
  37. public function testReader()
  38. {
  39. $this->fileResolver->expects($this->once())
  40. ->method('get')
  41. ->with('webapi_async.xml', 'global')->willReturn([
  42. file_get_contents(__DIR__ . '/_files/Reader/webapi_async_1.xml'),
  43. file_get_contents(__DIR__ . '/_files/Reader/webapi_async_2.xml'),
  44. ]);
  45. $mergedConfiguration = include __DIR__ . '/_files/Reader/webapi_async.php';
  46. $readConfiguration = $this->reader->read();
  47. $this->assertEquals($mergedConfiguration, $readConfiguration);
  48. }
  49. }