Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ScopeCodeResolverTest.php
Go to the documentation of this file.
1 <?php
7 
12 
13 class ScopeCodeResolverTest extends \PHPUnit\Framework\TestCase
14 {
18  private $scopeResolverPool;
19 
23  private $scopeResolver;
24 
28  private $scope;
29 
33  private $scopeCodeResolver;
34 
35  public function setUp()
36  {
37  $this->scopeResolverPool = $this->getMockBuilder(ScopeResolverPool::class)
38  ->disableOriginalConstructor()
39  ->getMock();
40  $this->scopeResolver = $this->getMockBuilder(ScopeResolverInterface::class)
41  ->disableOriginalConstructor()
42  ->getMockForAbstractClass();
43  $this->scope = $this->getMockBuilder(ScopeInterface::class)
44  ->disableOriginalConstructor()
45  ->getMockForAbstractClass();
46 
47  $this->scopeCodeResolver = new ScopeCodeResolver($this->scopeResolverPool);
48  }
49 
50  public function testResolve()
51  {
52  $scopeType = 'website';
53  $scopeCode = 'myWebsite';
54  $scopeId = 4;
55  $this->scopeResolverPool->expects($this->once())
56  ->method('get')
57  ->with($scopeType)
58  ->willReturn($this->scopeResolver);
59  $this->scopeResolver->expects($this->once())
60  ->method('getScope')
61  ->with($scopeId)
62  ->willReturn($this->scope);
63  $this->scope->expects($this->once())
64  ->method('getCode')
65  ->willReturn($scopeCode);
66  $this->assertEquals($scopeCode, $this->scopeCodeResolver->resolve($scopeType, $scopeId));
67  }
68 }