Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ScopeTest.php
Go to the documentation of this file.
1 <?php
7 
12 
13 class ScopeTest extends \PHPUnit\Framework\TestCase
14 {
18  protected $block;
19 
23  protected $context;
24 
28  protected $scopeResolverPool;
29 
33  protected $request;
34 
35  protected function setUp()
36  {
37  $this->initContext();
38 
39  $this->scopeResolverPool = $this->getMockBuilder(\Magento\Framework\App\ScopeResolverPool::class)
40  ->disableOriginalConstructor()
41  ->getMock();
42 
43  $this->block = new Scope(
44  $this->context,
45  $this->scopeResolverPool
46  );
47  }
48 
49  public function testGetScopeTitle()
50  {
51  $scope = 'websites';
52  $scopeId = 1;
53  $scopeTypeName = 'Website';
54 
55  $this->request->expects($this->exactly(2))
56  ->method('getParam')
57  ->willReturnMap([
58  ['scope', null, $scope],
59  ['scope_id', null, $scopeId],
60  ]);
61 
62  $scopeObject = $this->getMockBuilder(\Magento\Framework\App\ScopeInterface::class)
63  ->getMockForAbstractClass();
64  $scopeObject->expects($this->once())
65  ->method('getScopeTypeName')
66  ->willReturn($scopeTypeName);
67 
68  $scopeResolver = $this->getMockBuilder(\Magento\Framework\App\ScopeResolverInterface::class)
69  ->getMockForAbstractClass();
70  $scopeResolver->expects($this->once())
71  ->method('getScope')
72  ->with($scopeId)
73  ->willReturn($scopeObject);
74 
75  $this->scopeResolverPool->expects($this->once())
76  ->method('get')
77  ->with($scope)
78  ->willReturn($scopeResolver);
79 
80  $this->assertEquals(__('%1', $scopeTypeName), $this->block->getScopeTitle());
81  }
82 
83  public function testGetScopeTitleDefault()
84  {
85  $scope = 'default';
86  $scopeId = 0;
87  $scopeTypeName = 'Default';
88 
89  $this->request->expects($this->exactly(2))
90  ->method('getParam')
91  ->willReturnMap([
92  ['scope', null, $scope],
93  ['scope_id', null, $scopeId],
94  ]);
95 
96  $this->assertEquals($scopeTypeName, $this->block->getScopeTitle()->render());
97  }
98 
99  protected function initContext()
100  {
101  $this->request = $this->getMockBuilder(\Magento\Framework\App\Request\Http::class)
102  ->disableOriginalConstructor()
103  ->getMock();
104 
105  $this->context = $this->getMockBuilder(\Magento\Backend\Block\Template\Context::class)
106  ->disableOriginalConstructor()
107  ->getMock();
108  $this->context->expects($this->any())
109  ->method('getRequest')
110  ->willReturn($this->request);
111  }
112 }
__()
Definition: __.php:13