requestMock = $this->getMockBuilder(RequestInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $this->configUtilsMock = $this->getMockBuilder(ConfigUtils::class) ->disableOriginalConstructor() ->getMock(); $this->adminConfig = new AdminConfig($this->requestMock, $this->configUtilsMock); } /** * @covers \Plumrocket\Base\Model\Utils\AdminConfig::getScopedConfig * @return void */ public function testNoParams(): void { $this->requestMock->method('getParam')->willReturn(null); $this->configUtilsMock ->expects($this->once()) ->method('getConfig') ->with('test/group/field', new IsEqual(null), ScopeConfigInterface::SCOPE_TYPE_DEFAULT); $this->adminConfig->getScopedConfig('test/group/field'); } /** * @covers \Plumrocket\Base\Model\Utils\AdminConfig::getScopedConfig * @return void */ public function testWebsite(): void { $this->requestMock->method('getParam')->willReturnCallback(function ($param) { return ($param === 'website') ? '1' : null; }); $this->configUtilsMock ->expects($this->once()) ->method('getConfig') ->with('test/group/field', new IsEqual('1'), ScopeInterface::SCOPE_WEBSITE); $this->adminConfig->getScopedConfig('test/group/field'); } /** * @covers \Plumrocket\Base\Model\Utils\AdminConfig::getScopedConfig * @return void */ public function testStore(): void { $this->requestMock->method('getParam')->willReturnCallback(function ($param) { return ($param === 'store') ? '1' : null; }); $this->configUtilsMock ->expects($this->once()) ->method('getConfig') ->with('test/group/field', new IsEqual('1'), ScopeInterface::SCOPE_STORE); $this->adminConfig->getScopedConfig('test/group/field'); } }