18 use PHPUnit_Framework_MockObject_MockObject as Mock;
36 private $deploymentConfigMock;
41 private $configPathResolverMock;
46 private $preparedValueFactoryMock;
56 private $resourceModelMock;
63 $this->deploymentConfigMock = $this->getMockBuilder(DeploymentConfig::class)
64 ->disableOriginalConstructor()
66 $this->configPathResolverMock = $this->getMockBuilder(ConfigPathResolver::class)
67 ->disableOriginalConstructor()
69 $this->resourceModelMock = $this->getMockBuilder(AbstractDb::class)
70 ->disableOriginalConstructor()
71 ->setMethods([
'save'])
72 ->getMockForAbstractClass();
73 $this->valueMock = $this->getMockBuilder(Value::class)
74 ->disableOriginalConstructor()
75 ->setMethods([
'getResource'])
77 $this->preparedValueFactoryMock = $this->getMockBuilder(PreparedValueFactory::class)
78 ->disableOriginalConstructor()
82 $this->preparedValueFactoryMock,
83 $this->deploymentConfigMock,
84 $this->configPathResolverMock
99 $this->configMockForProcessTest(
$path, $scope, $scopeCode);
101 $this->preparedValueFactoryMock->expects($this->once())
103 ->willReturn($this->valueMock);
104 $this->valueMock->expects($this->once())
105 ->method(
'getResource')
106 ->willReturn($this->resourceModelMock);
107 $this->resourceModelMock->expects($this->once())
109 ->with($this->valueMock)
112 $this->model->process(
$path,
$value, $scope, $scopeCode);
129 $path =
'test/test/test';
133 $valueInterfaceMock = $this->getMockBuilder(ValueInterface::class)
134 ->getMockForAbstractClass();
136 $this->configMockForProcessTest(
$path, $scope, $scopeCode);
138 $this->preparedValueFactoryMock->expects($this->once())
140 ->willReturn($valueInterfaceMock);
141 $this->valueMock->expects($this->never())
142 ->method(
'getResource');
143 $this->resourceModelMock->expects($this->never())
146 $this->model->process(
$path,
$value, $scope, $scopeCode);
154 private function configMockForProcessTest(
$path, $scope, $scopeCode)
156 $this->configPathResolverMock->expects($this->once())
159 ->willReturn(
'system/default/test/test/test');
160 $this->deploymentConfigMock->expects($this->once())
163 [
'system/default/test/test/test',
null],
175 $path =
'test/test/test';
178 $this->deploymentConfigMock->expects($this->once())
181 [
'db',
null,
'exists'],
182 [
'system/default/test/test/test',
null, 5],
184 $this->configPathResolverMock->expects($this->once())
186 ->willReturn(
'system/default/test/test/test');
testProcess($path, $value, $scope, $scopeCode)
testProcessWithWrongValueInstance()