12 use \PHPUnit_Framework_MockObject_MockObject as Mock;
44 $this->_modelPoolMock = $this->getMockBuilder(ProcessorFactory::class)
45 ->disableOriginalConstructor()
47 $this->_initialConfigMock = $this->getMockBuilder(Initial::class)
48 ->disableOriginalConstructor()
50 $this->_backendModelMock = $this->getMockBuilder(ProcessorInterface::class)
51 ->getMockForAbstractClass();
53 $this->_initialConfigMock->expects($this->any())
54 ->method(
'getMetadata')
56 [
'some/config/path' => [
'backendModel' =>
'Custom_Backend_Model']]
59 $this->_model = new \Magento\Framework\App\Config\MetadataProcessor(
60 $this->_modelPoolMock,
61 $this->_initialConfigMock
67 $this->_modelPoolMock->expects($this->once())
69 ->with(
'Custom_Backend_Model')
70 ->willReturn($this->_backendModelMock);
71 $this->_backendModelMock->expects($this->once())
72 ->method(
'processValue')
74 ->willReturn(
'processed_value');
76 $data = [
'some' => [
'config' => [
'path' =>
'value']],
'active' => 1];
77 $expectedResult =
$data;
78 $expectedResult[
'some'][
'config'][
'path'] =
'processed_value';
79 $this->assertEquals($expectedResult, $this->_model->process(
$data));