scopeResolverPoolMock = $this->getMockBuilder(\Magento\Framework\App\ScopeResolverPool::class) ->disableOriginalConstructor() ->getMock(); $this->model = new Source($this->scopeResolverPoolMock, $this->scope); } public function testToOptionArray() { $scopeId = 1; $scopeName = 'Scope Name'; $scopeData = [ 'value' => $scopeId, 'label' => $scopeName, ]; $result = [$scopeData, $scopeData]; /** @var ScopeResolverInterface|\PHPUnit_Framework_MockObject_MockObject $scopeResolverMock */ $scopeResolverMock = $this->getMockBuilder(\Magento\Framework\App\ScopeResolverInterface::class) ->getMockForAbstractClass(); /** @var ScopeInterface|\PHPUnit_Framework_MockObject_MockObject $scopeMock */ $scopeMock = $this->getMockBuilder(\Magento\Framework\App\ScopeInterface::class) ->getMockForAbstractClass(); $this->scopeResolverPoolMock->expects($this->once()) ->method('get') ->with($this->scope) ->willReturn($scopeResolverMock); $scopeResolverMock->expects($this->once()) ->method('getScopes') ->willReturn([$scopeMock, $scopeMock]); $scopeMock->expects($this->exactly(2)) ->method('getId') ->willReturn($scopeId); $scopeMock->expects($this->exactly(2)) ->method('getName') ->willReturn($scopeName); $this->assertEquals($result, $this->model->toOptionArray()); } }