ReaderTest.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * \Magento\Payment\Model\Config\Reader
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\Payment\Model\Config;
  9. class ReaderTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /**
  12. * @var \Magento\Payment\Model\Config\Reader
  13. */
  14. protected $_model;
  15. /** @var \Magento\Framework\Config\FileResolverInterface/PHPUnit\Framework\MockObject_MockObject */
  16. protected $_fileResolverMock;
  17. public function setUp()
  18. {
  19. $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  20. /** @var $cache \Magento\Framework\App\Cache */
  21. $cache = $objectManager->create(\Magento\Framework\App\Cache::class);
  22. $cache->clean();
  23. $this->_fileResolverMock = $this->getMockBuilder(
  24. \Magento\Framework\Config\FileResolverInterface::class
  25. )->disableOriginalConstructor()->getMock();
  26. $this->_model = $objectManager->create(
  27. \Magento\Payment\Model\Config\Reader::class,
  28. ['fileResolver' => $this->_fileResolverMock]
  29. );
  30. }
  31. public function testRead()
  32. {
  33. $fileList = [file_get_contents(__DIR__ . '/../_files/payment.xml')];
  34. $this->_fileResolverMock->expects($this->any())->method('get')->will($this->returnValue($fileList));
  35. $result = $this->_model->read('global');
  36. $expected = [
  37. 'credit_cards' => ['SO' => 'Solo', 'SM' => 'Switch/Maestro'],
  38. 'groups' => ['any_payment' => 'Any Payment'],
  39. 'methods' => ['checkmo' => ['allow_multiple_address' => 1]],
  40. ];
  41. $this->assertEquals($expected, $result);
  42. }
  43. public function testMergeCompleteAndPartial()
  44. {
  45. $fileList = [
  46. file_get_contents(__DIR__ . '/../_files/payment.xml'),
  47. file_get_contents(__DIR__ . '/../_files/payment2.xml'),
  48. ];
  49. $this->_fileResolverMock->expects($this->any())->method('get')->will($this->returnValue($fileList));
  50. $result = $this->_model->read('global');
  51. $expected = [
  52. 'credit_cards' => ['AE' => 'American Express', 'SM' => 'Switch/Maestro', 'SO' => 'Solo'],
  53. 'groups' => ['any_payment' => 'Any Payment Methods', 'offline' => 'Offline Payment Methods'],
  54. 'methods' => [
  55. 'checkmo' => ['allow_multiple_address' => 1],
  56. 'deny-method' => ['allow_multiple_address' => 0],
  57. ],
  58. ];
  59. $this->assertEquals($expected, $result);
  60. }
  61. }