ScopeCodeResolverTest.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\App\Test\Unit\Config;
  7. use Magento\Framework\App\Config\ScopeCodeResolver;
  8. use Magento\Framework\App\ScopeInterface;
  9. use Magento\Framework\App\ScopeResolverInterface;
  10. use Magento\Framework\App\ScopeResolverPool;
  11. class ScopeCodeResolverTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var ScopeResolverPool|\PHPUnit_Framework_MockObject_MockObject
  15. */
  16. private $scopeResolverPool;
  17. /**
  18. * @var ScopeResolverInterface|\PHPUnit_Framework_MockObject_MockObject
  19. */
  20. private $scopeResolver;
  21. /**
  22. * @var ScopeInterface|\PHPUnit_Framework_MockObject_MockObject
  23. */
  24. private $scope;
  25. /**
  26. * @var ScopeCodeResolver
  27. */
  28. private $scopeCodeResolver;
  29. public function setUp()
  30. {
  31. $this->scopeResolverPool = $this->getMockBuilder(ScopeResolverPool::class)
  32. ->disableOriginalConstructor()
  33. ->getMock();
  34. $this->scopeResolver = $this->getMockBuilder(ScopeResolverInterface::class)
  35. ->disableOriginalConstructor()
  36. ->getMockForAbstractClass();
  37. $this->scope = $this->getMockBuilder(ScopeInterface::class)
  38. ->disableOriginalConstructor()
  39. ->getMockForAbstractClass();
  40. $this->scopeCodeResolver = new ScopeCodeResolver($this->scopeResolverPool);
  41. }
  42. public function testResolve()
  43. {
  44. $scopeType = 'website';
  45. $scopeCode = 'myWebsite';
  46. $scopeId = 4;
  47. $this->scopeResolverPool->expects($this->once())
  48. ->method('get')
  49. ->with($scopeType)
  50. ->willReturn($this->scopeResolver);
  51. $this->scopeResolver->expects($this->once())
  52. ->method('getScope')
  53. ->with($scopeId)
  54. ->willReturn($this->scope);
  55. $this->scope->expects($this->once())
  56. ->method('getCode')
  57. ->willReturn($scopeCode);
  58. $this->assertEquals($scopeCode, $this->scopeCodeResolver->resolve($scopeType, $scopeId));
  59. }
  60. }