ConfigTest.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Payment\Test\Unit\Gateway\Config;
  7. use Magento\Payment\Gateway\Config\Config;
  8. use Magento\Framework\App\Config\ScopeConfigInterface;
  9. use Magento\Store\Model\ScopeInterface;
  10. /**
  11. * Class ConfigTest
  12. */
  13. class ConfigTest extends \PHPUnit\Framework\TestCase
  14. {
  15. /** @var Config */
  16. protected $model;
  17. /**
  18. * @var ScopeConfigInterface|\PHPUnit_Framework_MockObject_MockObject
  19. */
  20. protected $scopeConfigMock;
  21. protected function setUp()
  22. {
  23. $this->scopeConfigMock = $this->getMockBuilder(\Magento\Framework\App\Config\ScopeConfigInterface::class)
  24. ->getMockForAbstractClass();
  25. }
  26. public function testGetValue()
  27. {
  28. $field = 'field';
  29. $storeId = 1;
  30. $methodCode = 'code';
  31. $pathPattern = 'pattern/%s/%s';
  32. $expected = 'expected value';
  33. $this->scopeConfigMock->expects($this->once())
  34. ->method('getValue')
  35. ->with(
  36. sprintf($pathPattern, $methodCode, $field),
  37. ScopeInterface::SCOPE_STORE,
  38. $storeId
  39. )->willReturn($expected);
  40. $this->model = new Config($this->scopeConfigMock, $methodCode, $pathPattern);
  41. $this->assertEquals($expected, $this->model->getValue($field, $storeId));
  42. }
  43. public function testGetValueWithDefaultPathPattern()
  44. {
  45. $field = 'field';
  46. $storeId = 1;
  47. $methodCode = 'code';
  48. $expected = 'expected value';
  49. $this->scopeConfigMock->expects($this->once())
  50. ->method('getValue')
  51. ->with(
  52. sprintf(Config::DEFAULT_PATH_PATTERN, $methodCode, $field),
  53. ScopeInterface::SCOPE_STORE,
  54. $storeId
  55. )->willReturn($expected);
  56. $this->model = new Config($this->scopeConfigMock, $methodCode);
  57. $this->assertEquals($expected, $this->model->getValue($field, $storeId));
  58. }
  59. }