Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
BaseUrlCheckerTest.php
Go to the documentation of this file.
1 <?php
8 
12 
16 class BaseUrlCheckerTest extends \PHPUnit\Framework\TestCase
17 {
23  private $baseUrlChecker;
24 
30  private $scopeConfig;
31 
35  protected function setUp()
36  {
37  $this->scopeConfig = $this->getMockBuilder(Config::class)
38  ->disableOriginalConstructor()
39  ->getMock();
40  $this->baseUrlChecker = new BaseUrlChecker(
41  $this->scopeConfig
42  );
43  parent::setUp();
44  }
45 
49  public function testExecute()
50  {
51  $scheme = 'testScheme';
52  $host = 'testHost';
53  $requestUri = 'testRequestUri';
55  $request = $this->getMockBuilder(Http::class)
56  ->disableOriginalConstructor()
57  ->getMock();
58  $request->expects($this->exactly(2))
59  ->method('getRequestUri')
60  ->willReturn($requestUri);
61  $request->expects($this->once())
62  ->method('getScheme')
63  ->willReturn($scheme);
64  $request->expects($this->once())
65  ->method('getHttpHost')
66  ->willReturn($host);
67  $uri = [
68  'scheme' => $scheme,
69  'host' => $host,
70  'path' => $requestUri,
71  ];
72  $this->assertTrue($this->baseUrlChecker->execute($uri, $request));
73  }
74 
78  public function testIsEnabled()
79  {
80  $this->scopeConfig->expects($this->once())
81  ->method('getValue')
82  ->with('web/url/redirect_to_base', \Magento\Store\Model\ScopeInterface::SCOPE_STORE)
83  ->willReturn(1);
84  $this->assertTrue($this->baseUrlChecker->isEnabled());
85  }
86 
90  public function testIsFrontendSecure()
91  {
92  $this->scopeConfig->expects($this->exactly(2))
93  ->method('getValue')
94  ->withConsecutive(
95  ['web/unsecure/base_url', \Magento\Store\Model\ScopeInterface::SCOPE_STORE],
96  ['web/secure/use_in_frontend', \Magento\Store\Model\ScopeInterface::SCOPE_STORE]
97  )->will($this->onConsecutiveCalls(
98  $this->returnValue('https://localhost'),
99  1
100  ));
101  $this->assertTrue($this->baseUrlChecker->isFrontendSecure());
102  }
103 }