28 private $placeholderMock;
33 private $scopeCodeResolverMock;
47 $this->configMock = $this->getMockBuilder(DeploymentConfig::class)
48 ->disableOriginalConstructor()
50 $this->placeholderMock = $this->getMockBuilder(PlaceholderInterface::class)
51 ->getMockForAbstractClass();
52 $this->scopeCodeResolverMock = $this->getMockBuilder(
Config\ScopeCodeResolver::class)
53 ->disableOriginalConstructor()
55 $placeholderFactoryMock = $this->getMockBuilder(PlaceholderFactory::class)
56 ->disableOriginalConstructor()
60 $placeholderFactoryMock->expects($this->once())
63 ->willReturn($this->placeholderMock);
65 $this->checker =
new SettingChecker($this->configMock, $placeholderFactoryMock, $this->scopeCodeResolverMock);
77 public function testIsReadonly(
$path, $scope, $scopeCode, $confValue, array $variables, $expectedResult)
79 $this->placeholderMock->expects($this->once())
80 ->method(
'isApplicable')
82 $this->placeholderMock->expects($this->once())
84 ->with(
$path, $scope, $scopeCode)
85 ->willReturn(
'SOME_PLACEHOLDER');
86 $this->scopeCodeResolverMock->expects($this->any())
90 [
'website',
'myWebsite', ($scopeCode ? $scopeCode :
'')]
94 $_ENV = array_merge($this->env, $variables);
96 $this->configMock->expects($this->any())
100 'system/' . $scope .
"/" . ($scopeCode ? $scopeCode .
'/' :
'') .
$path,
106 $this->assertSame($expectedResult, $this->checker->isReadOnly(
$path, $scope, $scopeCode));
116 'path' =>
'general/web/locale',
117 'scope' =>
'website',
118 'scopeCode' =>
'myWebsite',
119 'confValue' =>
'value',
121 'expectedResult' =>
true,
124 'path' =>
'general/web/locale',
125 'scope' =>
'website',
126 'scopeCode' =>
'myWebsite',
128 'variables' => [
'SOME_PLACEHOLDER' =>
'value'],
129 'expectedResult' =>
true,
132 'path' =>
'general/web/locale',
133 'scope' =>
'website',
134 'scopeCode' =>
'myWebsite',
137 'expectedResult' =>
false,
testIsReadonly($path, $scope, $scopeCode, $confValue, array $variables, $expectedResult)